@djmarc75 danke, danke.
Wie sang der Roberto "Ein bisschen Spass muss sein"
@djmarc75 danke, danke.
Wie sang der Roberto "Ein bisschen Spass muss sein"
Hallo ioBroker Community,
nachdem ich schon so viel geholfen bekommen habe, wollte ich mal etwas zurückgeben.
Das hat jetzt nix mit Weihnachten zu tun
Es hat sich Zeitlich so ergeben.
Ich muss erwähnen dass ich kein Erfahrener/Professioneller Programmierer bin. Das ist ein reines Hobby!
Da wo ein Professioneller Programmierer 15 Minuten brauch, sitze ich schon mal 2-3 Tage dran.
Bin da aber wie ein Bullterrier.
Unter Mitwirkung/Hilfe von @paul53, @SBorg und vielleicht auch @crunchip der denkt ich sei ein Schlimmer Mensch (Vielleicht ist er wegen dem ganzen Corona sehr sensibilisiert)
Dieses Blockly ist für eine Reolink Cam. In meinem Fall "Reolink RLC-811A"
Selbstverständlich kann/soll über das Script gesprochen werden!
Ich will ja noch was lernen.
Aber so wie es hier zu sehen ist läuft das Script so wie ich es mir vorstellte.
So jetzt ist aber Gut, sonst fange ich noch an zu weinen
OK, @Jey-Cee
Ohje, mein erstes Handbuch für ein Script. Neeeeeeeein Spass
OK, beim Start vom Script ist der Link von der Reokink-API der mittels Crontab, jede Sekunde, die URL aktualisiert wird.
Da dass Ergebniss des Links in JSON ausgegeben wird muss dass Ergebniss mit einem System > Attribut-Block in einen zuvor erstellten Datenpunkt (Number) geschrieben werden.
0 = keine Bewegung, 1 = Bewegung erkannt
Der weitere Ablauf des Script ...
Wird eine Bewegung erkannt wird im exec-Block der Bedingung "wert=1" nach dem soeben/letzten erstellten Snapshot gesucht und vom ioBroker-Host mittels "scp" vom FTP-Server in ein lokales Verzeichnis (Bei mir /tmp/UeCAMS/nameVonKamerastandort) abgespeichert.
Da der Snapshot im meinem Fall ein 4K Bild ist würde das Script viel zu schnell ablaufen und beim versandt an Telegram ein unvollständiges Bild vorliegen würde.
Eine lange Pause oder verzögertes starten wollte ich nicht. Denn was bringt eine Warnung die erst 15-20 Sekunden später bei Telegram eintrifft.
Um den downgeloadeten Snapshot zu verkleinern muss am ioBroker-Host das Paket "imagemagick" mit apt install -y imagemagick installiert werden.
Wenn der versandt an Telegram erfolgreich war werden zu guter letzt die Bilder wieder lokal am ioBroker-Host gelöscht.
Ich hoffe das hat irgend jemand verstanden
Hallo,
nach dem update des js-contollers funktionieren eine Blockly-Skripte nicht mehr!
Skripte mit ....
laufen nicht mehr an.
Skripte mit ...
laufen wie gewohnt.
@mrbungle64 ach so, das habe ich falsch verstanden.
OK. lass' uns morgen darüber quatschen.
Melde dich wenn du morgen bereit bist
@mrbungle64 nun für mich nicht.
Aber für jemand anderen der hier sitzt
Wir hätten aber doch noch immer das debug-Problem. Da die Freigabe ja kein Passwort hat.
Man musste ja ein VPN-Tunnel erstellen
@mrbungle64 gerne!
Aber Du denkst nicht an heute noch?
@mrbungle64 sagte in Ecovacs Deebot Adapter: Status und Feedback:
@jm3west sagte in Ecovacs Deebot Adapter: Status und Feedback:
Ich habe in einer ruhigen Stunde nochmal die iOS App zur Hand genommen und durchgeklickt.
Optionen aus iOS App heraus
Reinigungseinstellungen > StandardWischmodus (Scheinbar Standard und Anpassen weil payload der gleiche ist)
warn got payload for unknown command 'onCustomAreaMode': {"sweepMode":0}
Was ist es denn nun genau?
Hier hattest du noch geschrieben, dass das die Werte "Standard" und "Tief" sind:
Damit meinte ich dass, wie schon beschrieben, der payload sowohl bei Standard und Anpassen immer gleich sind, mit gleichen Wertepaar.
So würde ich es auch von der optischen Aufteilung interpretieren.
Sprich beide werden mit den Werten Standard=0; Tief=1 beschrieben.
Ich habe in einer ruhigen Stunde nochmal die iOS App zur Hand genommen und durchgeklickt.
Optionen aus iOS App heraus
Reinigungseinstellungen > Standard
Wischmodus (Scheinbar Standard und Anpassen weil payload der gleiche ist)
warn got payload for unknown command 'onCustomAreaMode': {"sweepMode":0}
Reinigungseinstellungen > Anpassen > Bevorzugter Bereich
Da für jedes(n) Zimmer/Bereich drei Einstellmöglichkeiten gibt (Reinigen: 1x/2x; Saugkraft: Leise/Standard/Maximal/Maximal+; Wasserdurchflussrate: niedrig/mittel/hoch) werden diese immer als Gesamtes gespeichert, auch wenn zB. nur 2x reinigen ausgewählt wird.
Somit sind die unbekannten payloads immer sie gleichen.
warn got payload for unknown command 'onSimpleARMapSet': {"type":"ar","speechVer":"2.0","mid":"732490256","msid":"1863920572","subsets":[{"name":"Esszimmer1","mssid":"1","subtype":"2","totalCount":0},{"name":"","mssid":"2","subtype":"1","totalCount":0},{"name":"Küche1","mssid":"3","subtype":"5","totalCount":0},{"name":"Schlafzimmer1","mssid":"6","subtype":"3","totalCount":0},{"name":"Flur1","mssid":"8","subtype":"12","totalCount":0},{"name":"Badezimmer2","mssid":"7","subtype":"6","totalCount":0}]}
warn got payload for unknown command 'onFwBuryPoint-areasInfo': "{\"header\":{\"pri\":1,\"tzm\":60,\"ts\":\"1674563558544\",\"ver\":\"0.0.1\",\"fwVer\":\"2.3.9\",\"hwVer\":\"0.1.1\",\"wkVer\":\"0.1.54\"},\"body\":{\"gid\":\"G1674563558521\",\"index\":\"0000000123\",\"ts\":\"1674563558521\",\"mid\":732490256,\"areas\":[{\"id\":1,\"name\":\"Esszimmer1\",\"type\":2,\"priority\":0,\"waterLevel\":1,\"fanLevel\":0,\"cleanCnt\":2},{\"id\":2,\"name\":\"\",\"type\":1,\"priority\":0,\"waterLevel\":0,\"fanLevel\":1,\"cleanCnt\":1},{\"id\":3,\"name\":\"Küche1\",\"type\":5,\"priority\":0,\"waterLevel\":1,\"fanLevel\":0,\"cleanCnt\":1},{\"id\":6,\"name\":\"Schlafzimmer1\",\"type\":3,\"priority\":0,\"waterLevel\":2,\"fanLevel\":1,\"cleanCnt\":2},{\"id\":8,\"name\":\"Flur1\",\"type\":12,\"priority\":0,\"waterLevel\":1,\"fanLevel\":0,\"cleanCnt\":2},{\"id\":7,\"name\":\"Badezimmer2\",\"type\":6,\"priority\":0,\"waterLevel\":1,\"fanLevel\":0,\"cleanCnt\":1}]}}"
warn got payload for unknown command 'onFwBuryPoint-bd_mapinfo': "{\"header\":{\"pri\":1,\"tzm\":60,\"ts\":\"1674563558803\",\"ver\":\"0.0.1\",\"fwVer\":\"2.3.9\",\"hwVer\":\"0.1.1\",\"wkVer\":\"0.1.54\"},\"body\":{\"gid\":\"G1674563558794\",\"index\":\"0000000124\",\"ts\":\"1674563558794\",\"mapinfos\":[{\"mapid\":0,\"name\":\"\",\"savemapType\":0,\"isActive\":0,\"isRecentMap\":0,\"cleanCount\":0,\"priority\":0},{\"mapid\":732490256,\"name\":\"OG Loft\",\"savemapType\":1,\"isActive\":1,\"isRecentMap\":1,\"cleanCount\":2,\"priority\":26},{\"mapid\":0,\"name\":\"\",\"savemapType\":2,\"isActive\":0,\"isRecentMap\":0,\"cleanCount\":0,\"priority\":0},{\"mapid\":0,\"name\":\"\",\"savemapType\":3,\"isActive\":0,\"isRecentMap\":0,\"cleanCount\":0,\"priority\":0}]}}"
Das sind eingentlich alle payloads die unbekannt sind.
Die die unbekannt waren hast Du/wir ja schon erörtert.
Was mir noch aufgefallen ist.
Der Datenpunkt ecovacs-deebot.0.control.extended.volume wird von Dir mit Wert 1-10 vorgegeben.
Denoch lässt sich in der iOS App der Wert von 0-10 ändern.
So wird es auch im datenpunkt ecovacs-deebot.0.control.extended.volume gesetzt.
Mal angenommen ich stelle in der iOS App die Lautstärke auf 5 und setzte sie danach im Datenpunkt ecovacs-deebot.0.control.extended.volume auf 0 springt dieser nach einigen Sekunden wieder auf 5
Ich nehme aber an das es nicht funktioniert. Da die Freigabe ohne Passwort erfolgt!
@mrbungle64 mal was ganz vertrauensvolles.
Wie wäre es wenn ich Dir eine Freigabe erteilen würde.
Könntest Du dann bei Dir debuggen (Technisch gesehen).
Nicht das ich kein Interesse mehr hätte. Aber es gibt da noch einiges an Datenpunkte die nicht funktionieren!
Wie zB. Multiple spot-Reinigung (Nur Ess- und Wohnzimmer). Da spuckt der Debugger auch Warnungen aus.
Andererseits will ich aber auch nicht das Deine Programmierarbeit was exklusives für meinen OMNI X1 wird!!!
Falls doch, sag bitte mal bescheid
Ich trau mich es gar nicht zu posten ....
warn got payload for unknown command 'onSimpleARMapSet': {"type":"ar","speechVer":"2.0","mid":"732490256","msid":"1863920572","subsets":[{"name":"Esszimmer1","mssid":"1","subtype":"2","totalCount":0},{"name":"","mssid":"2","subtype":"1","totalCount":0},{"name":"Küche1","mssid":"3","subtype":"5","totalCount":0},{"name":"Schlafzimmer1","mssid":"6","subtype":"3","totalCount":0},{"name":"Flur1","mssid":"8","subtype":"12","totalCount":0},{"name":"Badezimmer2","mssid":"7","subtype":"6","totalCount":0}]}
MQTT iot/atr/onSched_V2/98904d32-fe49-4040-92a1-2a7e49d2cd82/1vxt52/bCpp/j
MQTT onSched_V2
payload {"header":{"pri":1,"tzm":60,"ts":"1674393364941","ver":"0.0.1","fwVer":"2.3.9","hwVer":"0.1.1","wkVer":"0.1.54"},"body":{}}
warn received error event with code '-2' and message 'resultData.repeat.split is not a function'
event Error resultData.repeat.split is not a function
MQTT iot/atr/onNextSched/98904d32-fe49-4040-92a1-2a7e49d2cd82/1vxt52/bCpp/j
MQTT onNextSched
payload
[]
warn got payload for unknown command 'onNextSched': []
MQTT iot/atr/onFwBuryPoint-areasInfo/98904d32-fe49-4040-92a1-2a7e49d2cd82/1vxt52/bCpp/j
MQTT onFwBuryPoint-areasInfo
payload {"header":{"pri":1,"tzm":60,"ts":"1674393364960","ver":"0.0.1","fwVer":"2.3.9","hwVer":"0.1.1","wkVer":"0.1.54"},"body":{"gid":"G1674393364934","index":"0000001272","ts":"1674393364934","mid":732490256,"areas":[{"id":1,"name":"Esszimmer1","type":2,"priority":0,"waterLevel":2,"fanLevel":1,"cleanCnt":2},{"id":2,"name":"","type":1,"priority":0,"waterLevel":0,"fanLevel":1,"cleanCnt":1},{"id":3,"name":"Küche1","type":5,"priority":0,"waterLevel":1,"fanLevel":0,"cleanCnt":1},{"id":6,"name":"Schlafzimmer1","type":3,"priority":0,"waterLevel":2,"fanLevel":1,"cleanCnt":2},{"id":8,"name":"Flur1","type":12,"priority":0,"waterLevel":1,"fanLevel":0,"cleanCnt":2},{"id":7,"name":"Badezimmer2","type":6,"priority":0,"waterLevel":1,"fanLevel":0,"cleanCnt":1}]}}
warn got payload for unknown command 'onFwBuryPoint-areasInfo': "{\"header\":{\"pri\":1,\"tzm\":60,\"ts\":\"1674393364960\",\"ver\":\"0.0.1\",\"fwVer\":\"2.3.9\",\"hwVer\":\"0.1.1\",\"wkVer\":\"0.1.54\"},\"body\":{\"gid\":\"G1674393364934\",\"index\":\"0000001272\",\"ts\":\"1674393364934\",\"mid\":732490256,\"areas\":[{\"id\":1,\"name\":\"Esszimmer1\",\"type\":2,\"priority\":0,\"waterLevel\":2,\"fanLevel\":1,\"cleanCnt\":2},{\"id\":2,\"name\":\"\",\"type\":1,\"priority\":0,\"waterLevel\":0,\"fanLevel\":1,\"cleanCnt\":1},{\"id\":3,\"name\":\"Küche1\",\"type\":5,\"priority\":0,\"waterLevel\":1,\"fanLevel\":0,\"cleanCnt\":1},{\"id\":6,\"name\":\"Schlafzimmer1\",\"type\":3,\"priority\":0,\"waterLevel\":2,\"fanLevel\":1,\"cleanCnt\":2},{\"id\":8,\"name\":\"Flur1\",\"type\":12,\"priority\":0,\"waterLevel\":1,\"fanLevel\":0,\"cleanCnt\":2},{\"id\":7,\"name\":\"Badezimmer2\",\"type\":6,\"priority\":0,\"waterLevel\":1,\"fanLevel\":0,\"cleanCnt\":1}]}}"
MQTT iot/atr/onNextVideoSched/98904d32-fe49-4040-92a1-2a7e49d2cd82/1vxt52/bCpp/j
MQTT onNextVideoSched
payload
[]
warn got payload for unknown command 'onNextVideoSched': []
MQTT iot/atr/onFwBuryPoint-bd_mapinfo/98904d32-fe49-4040-92a1-2a7e49d2cd82/1vxt52/bCpp/j
MQTT onFwBuryPoint-bd_mapinfo
payload {"header":{"pri":1,"tzm":60,"ts":"1674393365440","ver":"0.0.1","fwVer":"2.3.9","hwVer":"0.1.1","wkVer":"0.1.54"},"body":{"gid":"G1674393365410","index":"0000001273","ts":"1674393365410","mapinfos":[{"mapid":0,"name":"","savemapType":0,"isActive":0,"isRecentMap":0,"cleanCount":0,"priority":0},{"mapid":732490256,"name":"OG Loft","savemapType":1,"isActive":1,"isRecentMap":1,"cleanCount":2,"priority":28},{"mapid":0,"name":"","savemapType":2,"isActive":0,"isRecentMap":0,"cleanCount":0,"priority":0},{"mapid":0,"name":"","savemapType":3,"isActive":0,"isRecentMap":0,"cleanCount":0,"priority":0}]}}
warn got payload for unknown command 'onFwBuryPoint-bd_mapinfo': "{\"header\":{\"pri\":1,\"tzm\":60,\"ts\":\"1674393365440\",\"ver\":\"0.0.1\",\"fwVer\":\"2.3.9\",\"hwVer\":\"0.1.1\",\"wkVer\":\"0.1.54\"},\"body\":{\"gid\":\"G1674393365410\",\"index\":\"0000001273\",\"ts\":\"1674393365410\",\"mapinfos\":[{\"mapid\":0,\"name\":\"\",\"savemapType\":0,\"isActive\":0,\"isRecentMap\":0,\"cleanCount\":0,\"priority\":0},{\"mapid\":732490256,\"name\":\"OG Loft\",\"savemapType\":1,\"isActive\":1,\"isRecentMap\":1,\"cleanCount\":2,\"priority\":28},{\"mapid\":0,\"name\":\"\",\"savemapType\":2,\"isActive\":0,\"isRecentMap\":0,\"cleanCount\":0,\"priority\":0},{\"mapid\":0,\"name\":\"\",\"savemapType\":3,\"isActive\":0,\"isRecentMap\":0,\"cleanCount\":0,\"priority\":0}]}}"
MQTT iot/atr/onFwBuryPoint-bd_setting-evt/98904d32-fe49-4040-92a1-2a7e49d2cd82/1vxt52/bCpp/j
MQTT onFwBuryPoint-bd_setting-evt
payload {"header":{"pri":1,"tzm":60,"ts":"1674393372891","ver":"0.0.1","fwVer":"2.3.9","hwVer":"0.1.1","wkVer":"0.1.54"},"body":{"gid":"G1674393372885","index":"0000001274","ts":"1674393372885","orig":{"personalClean":1},"new":{"personalClean":0}}}
MQTT iot/atr/onCleanPreference/98904d32-fe49-4040-92a1-2a7e49d2cd82/1vxt52/bCpp/j
MQTT onCleanPreference
payload
{ enable: 0 }
result cleanPreference: 0
MQTT iot/atr/onCustomAreaMode/98904d32-fe49-4040-92a1-2a7e49d2cd82/1vxt52/bCpp/j
MQTT onCustomAreaMode
payload
{ sweepMode: 0 }
warn got payload for unknown command 'onCustomAreaMode': {"sweepMode":0}
MQTT iot/atr/onEvt/98904d32-fe49-4040-92a1-2a7e49d2cd82/1vxt52/bCpp/j
MQTT onEvt
payload
{ code: 1141 }
warn Unhandled Evt code: '1141'
MQTT iot/atr/onSweepMode/98904d32-fe49-4040-92a1-2a7e49d2cd82/1vxt52/bCpp/j
MQTT onSweepMode
payload
{ type: 0 }
MQTT iot/atr/onBorderSpin/98904d32-fe49-4040-92a1-2a7e49d2cd82/1vxt52/bCpp/j
MQTT onBorderSpin
payload
{ enable: 0, type: 1 }
result BorderSpin: 0