Hallo Stefan,
okay, aber was ist der Codetag, wenn es etwas in der vorherigen Nachricht war, ist dann war es rein zufällig...
MfG
Boschenka
Hallo Stefan,
okay, aber was ist der Codetag, wenn es etwas in der vorherigen Nachricht war, ist dann war es rein zufällig...
MfG
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....
{"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:
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?
Vielleicht ist hier etwas nicht richtig?
Vielen Dank und eine schöne Adventszeit.
Grüße Boschenka
Hallo Stefan,
Danke,
Zum Shelly flood: In der aktuellen Version hat er jetzt andere Actions.
Gottseidank hat sich die temporäre Anzeige (39 Actions) wieder normalisiert.
Ich habe alles nach bestem Wissen übernommen, bekomme aber nach wie vor keine Temp. und keinen Batteriewert angezeigt!
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:
!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.CUX2800002: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();
Alles anzeigen
Hoffe so geht es!
Kann die Zeilennummern nicht mit kopieren.
Hallo Stefan,
hier das Programm:
und das Script:
Wiedereinmal: DANKE für Deine unermüdliche Hilfestellung!!!
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.
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 Deine schnelle Antwort!
Werde es heute ergänzen und probieren.
Vielen Dank und ein schönes, restliches WE
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!