Beiträge von boschenka

    Hallo Stefan, Danke für Deine Hilfe.

    Jetzt muss ich etwas grundsätzliches klären.

    Ich verstehe Dich sehr gut, aber Du musst Dir vorstellen es gibt Menschen die sehr krank, 70 Jahre alt und froh sind ab und an Ihrem Hobby fröhnen zu können.

    Außerdem weiß ich bis heute nicht was Codetag ist. Ich hatte doch angegeben, dass ich Anfänger bin!

    Bin schon froh, dass ich weiß was C+P bedeutet....

    Code
    {"wifi_sta":{"connected":true,"ssid":"FritzDSL","ip":"192.168.178.42","rssi":-40},"cloud":{"enabled":true,"connected":true},"mqtt":{"connected":false},"time":"18:05","unixtime":1607709955,"serial":1,"has_update":false,"mac":"98F4ABF2AB25","cfg_changed_cnt":0,"actions_stats":{"skipped":0},"is_valid":true,"flood":false,"tmp":{"value":21.67,"units":"C","tC":23.88,"tF":74.97,"is_valid":true},"bat":{"value":100,"voltage":2.99},"act_reasons":["button"],"rain_sensor":false,"update":{"status":"unknown","has_update":false,"new_version":"","old_version":"20201128-102432/v1.9.2@e83f7025"},"ram_total":51224,"ram_free":39940,"fs_size":233681,"fs_free":141313,"uptime":4}

    Habe deswegen wieder per CP den Quelltext eingetragen und hoffe Du kannst etwas erkennen.

    MfG

    Boschenka

    Hallo Stefan,

    Danke, dass Du am Ball bleibst.

    Bei mir geht es leider aus gesundheitlichen Gründen nur sporadisch...

    1. Also der Flood hat aktuell die FW 20201128-102432/v1.9.2@e83f7025

    2. Hier das verwendete Script:

    !Skript V2.1 zum Werte auslesen Shelly-Flood mit Originalfirmware (c) 2020 by 66er (Stefan K.)

    ! Shelly Flood KG Waschmaschine (Standort kann angepasst werden)


    !**** SETUP ******** SETUP ******** SETUP ******** SETUP ***

    ! ACHTUNG: Beim Anpassen der Adressen keine "" löschen!

    ! Setup der CUxD-GERÄTE

    var url = "http://192.168.178.42/status"; ! IP-Adresse des Shelly Flood anpassen

    var execf = "CUxD.CUX2801001:1"; ! Adresse und Kanal des CUxD-Exec-Device angeben

    var shellyf = "CUxD.CUX4000005:1" ; ! Adresse und Kanal des CUxD-Device für den Shelly Flood anpassen


    !Setup der SYSTEMVARIABLEN

    var floodbat = "Shellyflood1-HWR-Keller-Batterie"; ! Name der Systemvariablen anpassen

    var floodtemp = "Shellyflood1-HWR-Keller-Temperatur"; !Name der Systemvariablen anpassen

    !****ENDE SETUP ********ENDE SETUP ********ENDE SETUP ******


    !*****Ab hier NICHTS MEHR ÄNDERN *****


    !Abfrage

    dom.GetObject(""#execf#".CMD_SETS").State("wget -q -O - '"#url#"'");

    dom.GetObject(""#execf#".CMD_QUERY_RET").State(1);

    string Antwort = dom.GetObject(""#execf#".CMD_RETS").State();

    string t = dom.GetObject(""#execf#".CMD_RETS").State();

    dom.GetObject(""#execf#".CMD_SETS").State("0");

    !WriteLine(Antwort);

    !WriteLine(t);


    !****Auswertung des Antwortstrings für Temp ****

    string s;

    foreach (s,t.Split (",")) {

    if (s.LTrim ("{").StartsWith ('"tC"')) {

    string temp = (s.StrValueByIndex (":",1).RTrim ("}"));

    ! WriteLine(temp);

    }

    }


    !**** Variable setzen****

    dom.GetObject(""#floodtemp#"").State(temp);


    !****Auswertung des Antwortstrings für Batt ****

    string s;

    foreach (s,t.Split (",")) {

    if (s.LTrim ("{").StartsWith ('"bat"')) {

    string bat = (s.StrValueByIndex (":",2).RTrim ("}"));

    ! WriteLine(bat);

    }

    }


    !**** Variable setzen****

    dom.GetObject(""#floodbat#"").State(bat);


    !Abfrage Alarm

    string word = "flood";

    integer word_laenge = word.Length();

    integer word_position = Antwort.Find(word);

    string daten = Antwort.Substr((word_position + word_laenge +2), 5);

    integer word_position = daten.Find(word);

    daten = daten.Substr(0, (word_position +6));

    Antwort = "true";

    !WriteLine(daten);


    !**** Zustand aktualisieren ****

    var zustand = dom.GetObject(""#shellyf#".STATE").State();

    !WriteLine(zustand);

    if ((daten == "true,") && (zustand != true) )

    {dom.GetObject(""#shellyf#".SET_STATE").State(1);

    !WriteLine("if ON");

    }

    if ((daten == "false") && (zustand != false)) {

    dom.GetObject(""#shellyf#".SET_STATE").State(0);

    !WriteLine("if off");

    }


    !Skript Ende

    3. Hier was ich im Shelly eingestellt habe:

    pasted-from-clipboard.png

    weil es abgeschnitten ist hier C&P:

    http://192.168.178.42:8181/x.exe?Antwort=dom.GetObject("Shellyflood1-HWR-Keller-AUSFALL").State(1)

    4. Auf der Raspberrymatic läuft: 3.53.34.20201121

    5. CuxD läuft aktuell in der Vers. 2.4.4

    Würde mich freuen, wenn Dir doch noch etwas einfällt und bedanke mich schon jetzt recht herzlich für Deine Mühe.

    MfG

    Boschenka

    Hallo Stefan,

    die hab ich alle gelesen.

    Was meinst Du konkret? Den Hinweis über die Firewall?

    Daran liegt es nicht, denn die hatte ich tagelang alles auf Vollzugriff und hat trotzdem nicht funktioniert.

    Deshalb aus Sicherheitsgründen wieder eingeschaltet. Habe es nun wieder alles auf Vollzugriff gestellt, aber leider...

    Ich bekomme keine Werte, lediglich alle 12 Std. die Nachricht, dass die Überwachung ausgefallen ist.

    So wie ich es im email-Formular eingetragen habe.

    Vielleicht hast Du noch eine Idee?

    Danke und einen schönen 2. Advent-Sonntag

    MfG

    Boschenka

    Hallo Stefan,

    im Screenshoot und in der Shelly-Übersicht wird nicht alles dargestellt.

    Nicht im Handy aber auch nicht am PC. Wenn ich aber am PC nach rechts verschiebe sehe ich den ganzen Befehl. Hier das C&P:

    http://192.168.178.42:8181/x.exe?Antwort=dom.GetObject("Shellyflood1-HWR-Keller-AUSFALL").State(1)

    In der Zwischenzeit bekomme ich alle 12 Stunden die Ausfallmeldung des Flood.

    Die Anzeige der Tem. und Batt. steht immer noch auf "0".

    Noch eine Frage, sind die Einstellungen in der Firewall richtig?

    pasted-from-clipboard.png

    Vielleicht ist hier etwas nicht richtig?

    Vielen Dank und eine schöne Adventszeit.

    Grüße Boschenka

    Hallo Stefan,

    wie immer Danke!!

    Habe erst jetzt realisiert, dass ich 3 CUxD Geräte brauche.

    Im Teil 1: CUxD Exec 2801001

    Im Teil 2: CUxD Timer 2800001

    Im Teil 3: CUxD Flood 4000005

    Ebenso habe ich übersehen, dass im Script Zeile 49 und 67 die Variablennamen anzupassen sind. Der Hinweis in Zeile 22

    !*****Ab hier NICHTS MEHR ÄNDERN *****

    hat mich das glauben lassen.

    Es ist mittlerweile auch nachgetragen.

    Jetzt hab ich ein neues Problem. Scheinbar hat Alterco heute eine neue Firmware veröffentlicht. Jetzt habe ich 39 Actions aber "Report Sensor Values" fehlt.

    Bin langsam am Verzweifeln.

    Poste nochmal das geänderte Script:

    !Skript V2.0 zum Werte auslesen Shelly-Flood mit Originalfirmware (c) 2020 by 66er (Stefan K.)

    ! Shellyflood1-HWR-Keller (Standort kann angepasst werden)


    !**** SETUP ******** SETUP ******** SETUP ******** SETUP ***

    ! ACHTUNG: Beim Anpassen der Adressen keine "" löschen!

    ! Setup der CUxD-GERÄTE

    var url = "http://192.168.178.42/status"; ! IP-Adresse des Shelly Flood anpassen

    var execf = "CUxD.CUX2801001:1"; ! Adresse und Kanal des CUxD-Exec-Device angeben

    var shellyf = "CUxD.CUX4000005:1" ; ! Adresse und Kanal des CUxD-Device für den Shelly Flood anpassen


    !Setup der SYSTEMVARIABLEN

    var floodbat = "Shellyflood1-HWR-Keller-Batterie"; ! Name der Systemvariablen anpassen

    var floodtemp = "Shellyflood1-HWR-Keller-Temperatur"; !Name der Systemvariablen anpassen

    !****ENDE SETUP ********ENDE SETUP ********ENDE SETUP ******


    !*****Ab hier NICHTS MEHR ÄNDERN *****


    !Abfrage

    dom.GetObject(""#execf#".CMD_SETS").State("wget -q -O - '"#url#"'");

    dom.GetObject(""#execf#".CMD_QUERY_RET").State(1);

    string Antwort = dom.GetObject(""#execf#".CMD_RETS").State();

    string t = dom.GetObject(""#execf#".CMD_RETS").State();

    dom.GetObject(""#execf#".CMD_SETS").State("0");

    !WriteLine(Antwort);

    !WriteLine(t);


    !****Auswertung des Antwortstrings für Temp ****

    string s;

    foreach (s,t.Split (",")) {

    if (s.LTrim ("{").StartsWith ('"tC"')) {

    string temp = (s.StrValueByIndex (":",1).RTrim ("}"));

    ! WriteLine(temp);

    }

    }


    !**** Variable setzen****

    !Variablennamen anpassen (hier: Shellyflood1-HWR-Keller-Temperatur)

    dom.GetObject(""#floodtemp#"").State(temp);


    !****Auswertung des Antwortstrings für Batt ****

    string s;

    foreach (s,t.Split (",")) {

    if (s.LTrim ("{").StartsWith ('"bat"')) {

    string bat = (s.StrValueByIndex (":",2).RTrim ("}"));

    ! WriteLine(bat);

    }

    }


    !**** Variable setzen****

    !Variablennamen anpassen (hier: Shellyflood1-HWR-Keller-Batterie)

    dom.GetObject(""#floodbat#"").State(bat);


    !Abfrage Alarm

    string word = "flood";

    integer word_laenge = word.Length();

    integer word_position = Antwort.Find(word);

    string daten = Antwort.Substr((word_position + word_laenge +2), 5);

    integer word_position = daten.Find(word);

    daten = daten.Substr(0, (word_position +6));

    Antwort = "true";

    !WriteLine(daten);


    !**** Zustand aktualisieren ****

    var zustand = dom.GetObject(""#shellyf#".STATE").State();

    !WriteLine(zustand);

    if ((daten == "true,") && (zustand != true) )

    {dom.GetObject(""#shellyf#".SET_STATE").State(1);

    !WriteLine("if ON");

    }

    if ((daten == "false") && (zustand != false)) {

    dom.GetObject(""#shellyf#".SET_STATE").State(0);

    !WriteLine("if off");

    }


    !Skript Ende


    Vielleicht magst Du noch einmal draufschauen und ggf. welche der 39 Actions ich im Shelly per WEB-UI eintragen soll.

    Vielen Dank für Deine Geduld

    MfG

    Boschenka

    Hallo Stefan,

    Ich versuche es nochmal:

    Hoffe so geht es!

    Kann die Zeilennummern nicht mit kopieren.

    Hallo Stefan,

    vielen Dank für Deine super schnellen Antworten.

    Okay, dann habe ich vermutlich an der falschen Stelle gesucht. Mein Problem ist,

    ich bekomme keine Daten des Flood angezeigt und bin mir nicht einmal sicher, ob alles andere funktioniert. Werde am WE noch einmal alles durch sehen, ob ich einen Fehler finde.

    pasted-from-clipboard.png

    Hier schon mal ein Ausdruck wie der Flood dargestellt wird.

    Danke für Deine Hilfe und Grüße

    Boschenka

    Hallo Stefan,

    hab es wieder probiert, funktioniert leider immer noch nicht.

    Bitte noch einmal, zu meiner ersten Frage:

    Zu Bild 3, wofür steht im Shelly-Eintrag bei Report Sensor Values:

    nach der IP, nach dem Port 8181 und nach dem Slash der Ausdruck "x.exe" ???

    Was muss da eingetragen werden? Oder einfach "x.exe"? Was bewirkt es dann?

    Bei Dir steht im Shelly x.exe laut Bild 3 und im Code unter dem Bild steht:

    http://192.168.1.93:8181/66er.exe?Antwort=dom.GetObject("Shelly-Flood_Ausfall_KG").State(1)

    Die IP und den Namen der Systemvariablen habe ich angepasst.

    Sorry, aber wenn ich es nicht verstehe, dann muss ich Buchstabe für Buchstabe abtippen...

    Durch diesen Widerspruch komme ich schon nicht weiter und hab ggf. noch andere Fehler?

    Danke noch einmal für Deine Hilfe und Geduld mit Anfängern wie mir.

    MfG

    Boschenka

    Hallo Stefan,

    vielen Dank für Ihre tolle Arbeit!

    Zwei Fragen habe ich trotzdem:

    Erste Frage: Zu Bild 3, wofür steht im Shelly-Eintrag bei Report Sensor Values:

    nach der IP, nach dem Port 8181 und nach dem Slash der Ausdruck "x.exe" ???

    Was muss da eingetragen werden? Oder einfach "x.exe"? Was bewirkt es dann?

    Zweite Frage:

    Bei Bild 9 kann man die Zeile "Aktivität" nicht lesen, da der Eintrag mit dem Uploadhinweis verdeckt ist.

    Ich bin technisch nicht in der Lage, das selber herauszufinden.

    Vielen Dank für Deine Mühe.

    Boschenka

    Hallo Zusammen,

    hatte auch das Overpowerproblem...

    2 Plug zu Alterco zurückgesendet, durch neue ersetzt, mit dem selben Problem immer wieder Auslösungen durch Overpower.

    Der unglaubliche Grund für die Auslösungen war die 2-flammige LS-Deckenleuchte im HW-Raum. Der Fehler ist eindeutig, reproduzierbar und durch abklemmen (mittlerweile ersetzt durch eine LED) der LS- Leuchte weg.

    Der Fehler wird wohl HF-seitig eingekoppelt, da die Waschmaschine nicht einmal eingeschaltet war und auch einen separaten Stromkreis hat.

    Alterco sollte wohl an der Störstrahlungsfestigkeit des Plug arbeiten. Übrigens war die LS-Leuchte ein deutsches Markenprodukt!