Prośba o pomoc w szkicu z warunkowaniem

User avatar
SOYER
Posts: 1623
Joined: Wed Aug 10, 2022 12:29 pm
Location: Kryry
Been thanked: 2 times

Post

Cześć, przenosząc temat z tego wątku:
viewtopic.php?p=130298#p130298
proszę o pomoc w znalezieniu błędu, dlaczego warunek ustawiony w funkcji ustaw() nie zmienia stanu w Supli. Fizycznie stan po spełnieniu warunku ładnie się zmienia z 0 na 1, ale Supla tego nie widzi.
Poniżej szkic:

Code: Select all

#include <SuplaDevice.h>
#include <supla/sensor/thermometer.h>
#include <supla/network/esp_wifi.h>
#include <supla/control/relay.h>

 Supla::ESPWifi wifi("xx,xx");

#include <ESP8266WiFi.h>
#include <ESP8266mDNS.h>
#include <WiFiUdp.h>
Supla::Control::Relay *r1 = nullptr;

int sus;
#define r1_pin D2
const int analogInPin = A0;

class AnalogValue : public Supla::Sensor::Thermometer {
  public:
    AnalogValue(int pin) : pin(pin) {
    }
    
    void onInit() {
      pinMode(pin, INPUT); 
      channel.setNewValue(getValue());
    }
    double getValue() {
      return analogRead(pin);
    }
  protected:
    int pin;
};
void ustaw(){
  sus = analogRead(analogInPin);
  if(sus > 200){
    r1->turnOff();  
  }
}

void setup() {
  Serial.begin(9600);
new AnalogValue(analogInPin);
    // Replace the falowing GUID with value that you can retrieve from https://www.supla.org/arduino/get-guid
  char GUID[SUPLA_GUID_SIZE] = {x};

  // Replace the following AUTHKEY with value that you can retrieve from: https://www.supla.org/arduino/get-authkey
  char AUTHKEY[SUPLA_AUTHKEY_SIZE] = {z};

r1 = new Supla::Control::Relay(r1_pin, false);

  SuplaDevice.begin(GUID,              // Global Unique Identifier 
                    "z",  // SUPLA server address
                    "x",   // Email address used to login to Supla Cloud
                    AUTHKEY);          // Authorization key
  

  
}

void loop() {
  Serial.println(analogRead(analogInPin));
  Serial.print("                    -----");
  Serial.println(digitalRead(D2));
  //ustaw();
    SuplaDevice.iterate();
}

Dzięki.
https://youtube.com/@tomaszhamer8134?si=_J1cT_QWsXxgt1Fm
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
User avatar
SOYER
Posts: 1623
Joined: Wed Aug 10, 2022 12:29 pm
Location: Kryry
Been thanked: 2 times

Post

Kurczę teraz patrzę, serio nie odkomentowałem ustaw() w loop?
https://youtube.com/@tomaszhamer8134?si=_J1cT_QWsXxgt1Fm
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
User avatar
SOYER
Posts: 1623
Joined: Wed Aug 10, 2022 12:29 pm
Location: Kryry
Been thanked: 2 times

Post

Serio, serio, zlikwidowałem "//", działa oczywiście.
Dziękuje za pomoc @klew i @lukfd !!

Szybko opiszę o co mi chodziło. To nadal podłączenie suszarki do powiadomień. Miałem ten problem, że sygnał z lampki w suszarce po zakończeniu pracy pojawiał się tylko na kilka sekund. Supla scripts części tych zdarzeń nie wyłapywała z powodu niezbyt częstego odświeżania stanu pinów. Postanowiłem napisać szkic który będzie ten stan sprawdzał częściej, ten nawet za często;-), ale esp i tak nie ma nic innego do roboty. Z racji mojej skromnej znajomości programowania i jeszcze skromniejszej znajomości zasad rządzących suplą, jeszcze raz dziękuję za pomoc.
Teraz dostaję powiadomienie szybciej niż lampka w bębnie zdąży się rozjaśnić do 100% :-).
Gdyby ktoś potrzebował powiadomienia o zmianie która przebiega bardzo szybko i nie ma po niej śladu, to proszę, szkic do użycia.
https://youtube.com/@tomaszhamer8134?si=_J1cT_QWsXxgt1Fm
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
krycha88
Posts: 5575
Joined: Fri Nov 16, 2018 7:25 am
Been thanked: 5 times

Post

A za pomocą jakiego API zrobiłeś powiadomienia?
https://gui-generic-builder.supla.io/
User avatar
SOYER
Posts: 1623
Joined: Wed Aug 10, 2022 12:29 pm
Location: Kryry
Been thanked: 2 times

Post

Pushover, płacisz 20 kilka złociszy za apkę, zakładasz konto, dokładasz do konta kilka telefonów, na tych telefonach też instalujesz apkę i logujesz się do konta założonego na pierwszym. Ale płacisz tylko raz.
https://youtube.com/@tomaszhamer8134?si=_J1cT_QWsXxgt1Fm
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
User avatar
SOYER
Posts: 1623
Joined: Wed Aug 10, 2022 12:29 pm
Location: Kryry
Been thanked: 2 times

Post

Kurcze blade, przełączyłem nodeMCU z kompa na swój zasilacz i nie łączy się... gadam co jest, podłączam znowu do kompa, konsola, a tam WiFi station disconnected
aż wgrałem ten szkic do innego nodemcu bo myślałem że może padł, ale ten sam komunikat.
Logi po jakimś czasie:
16:44:55.821 -> WiFi station disconnected
16:44:57.115 -> Channel(0) value changed to 3.0
16:44:58.797 -> WiFi station disconnected
16:45:01.735 -> WiFi station disconnected
16:45:04.688 -> WiFi station disconnected
16:45:07.125 -> Channel(0) value changed to 4.0
16:45:07.641 -> WiFi station disconnected
16:45:07.969 -> Connection fail counter overflow. Trying to setup network interface again
16:45:08.063 -> WiFi: resetting WiFi connection
16:45:10.828 -> WiFi station disconnected
16:45:13.781 -> WiFi station disconnected


Sieć wifi dział i ma połączenie z internetem, więc co?
https://youtube.com/@tomaszhamer8134?si=_J1cT_QWsXxgt1Fm
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
User avatar
lukfud
Posts: 2480
Joined: Thu Nov 23, 2017 11:33 pm
Location: Warszawa
Has thanked: 13 times
Been thanked: 11 times

Post

zakomentuj "ustaw();" w loop(), wrzuć i napisz czy działa.
https://www.facebook.com/groups/supladiy
https://www.facebook.com/groups/suplazamel
https://www.facebook.com/groups/suplaauraton
https://smartnerzeczy.pl
krycha88
Posts: 5575
Joined: Fri Nov 16, 2018 7:25 am
Been thanked: 5 times

Post

Bardzo możliwe, że brakuje pamięci.

Jak chcesz możesz spróbować GUI-Generic - jest tam obsługa przycisków analogowych oraz wysyłanie powiadomienia do pushover gdy stan przekaźnika będzie załączony.
https://gui-generic-builder.supla.io/
User avatar
SOYER
Posts: 1623
Joined: Wed Aug 10, 2022 12:29 pm
Location: Kryry
Been thanked: 2 times

Post

Znalazłem przyczynę, postanowiłem zakomentować trzy linijki w loop odpowiedzialne za seriala, po co ma wysyłać, mówię, jak już nie trzeba, przestało działać.
Kiedy wgrałem poprzedni szkic z odkomentowanymi serialami, znowu działa.
CJG?
https://youtube.com/@tomaszhamer8134?si=_J1cT_QWsXxgt1Fm
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
User avatar
SOYER
Posts: 1623
Joined: Wed Aug 10, 2022 12:29 pm
Location: Kryry
Been thanked: 2 times

Post

krycha88 wrote: Fri Sep 16, 2022 2:59 pm Bardzo możliwe, że brakuje pamięci.

Jak chcesz możesz spróbować GUI-Generic - jest tam obsługa przycisków analogowych oraz wysyłanie powiadomienia do pushover gdy stan przekaźnika będzie załączony.
Nie używam przycisku analogowego, choć szczerze to nie wiem co to jest? Przycisk fizyczny na ścianie?
Miałem szkic z gui generica ale tam nie da się wysterować "wirtualnego" przekaźnika służącego jako flaga, na podstawie analogowego odczytu z pinu.
https://youtube.com/@tomaszhamer8134?si=_J1cT_QWsXxgt1Fm
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79

Return to “Arduino IDE”