Auf den Modbus DP habe ich dann entsprechend nachjustiert:
Versuche den gewünsten %Wert x100 einzugeben.
so wie bei meinem Screenshot 11% = 1100 dann sollte es funktionieren
Auf den Modbus DP habe ich dann entsprechend nachjustiert:
Versuche den gewünsten %Wert x100 einzugeben.
so wie bei meinem Screenshot 11% = 1100 dann sollte es funktionieren
Hatte auch das Problem mit dem alten Bild.
Ich habe die "Bild holen" Funktion kopiert und statt writeFile - delFile geschrieben und in Bild löschen umbenannt.
bevor das neue Bild geholt wird lasse ich das alte löschen.
seitdem funktioniert es einwandfrei.
@alyxabyss
Hallo
Ich stand vor dem selben Problem.
Ich löse es mit einer Liste in Blockly. In die Liste wird eine gewisse Anzahl von Werten des Feuchtigkeitssensors geschrieben. Dann vergleiche ich den kleinsten mit dem aktuellen Wert. Bei einer gewissen Differenz wird getriggert.
Hier das Blockly
Ich sende die Nachricht an zwei Benutzer. (ähnlich Telegramm da die Göttergattin ja nicht alle Meldunge braucht).
Schau zur Sicherheit noch im Web-Adapter nach und deaktiviere den Cache. (war bei mir auch ein Grund weshalb es nicht funktioniert hat.)
<xml xmlns="https://developers.google.com/blockly/xml">
<variables>
<variable id="W7rU$,grIeN%1KO4vB%|">url</variable>
<variable id="u^a{RwAvq(*-0PK`(`@4">URL_Snapshot</variable>
<variable id="yW]q[i/Yfz.,5Z+Vb.a,">URL_ioBroker</variable>
<variable id="s`TAk}2fZk|p^o$4+d@t">result</variable>
</variables>
<block type="create" id="V@~u%:1g+=3-0?Brr}RL" x="95" y="-247">
<field name="NAME">0_userdata.0.Datenpunkte.chat.befehl</field>
<value name="COMMON">
<block type="text" id="8E6B#`YIJI=3V(!4hc,d">
<field name="TEXT">{ "name": "befehl", "desc": "Manuell erzeugt", "role": "state", "type": "string", "read": true, "write": true, "def": "" }</field>
</block>
</value>
<next>
<block type="create" id="%|[RWPZ:8IXh38cvum:1">
<field name="NAME">0_userdata.0.Datenpunkte.chat.chat_bot</field>
<value name="COMMON">
<block type="text" id="-Hr_uhSo{vNY~CV,g{K!">
<field name="TEXT">{ "name": "chat_bot", "desc": "Manuell erzeugt", "role": "state", "type": "string", "read": true, "write": true, "def": "" }</field>
</block>
</value>
<next>
<block type="update" id="6)Q/VTvxsl!)X(09sf,b">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">0_userdata.0.Datenpunkte.chat.chat_bot</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="text" id="e7eF!wiY18;b,*_[Qsp_">
<field name="TEXT">http://XXXXXXXXXX:xxxx/webapi/entry.cgi?api=SYNO.Chat.External&method=chatbot&version=2&token=XXXXXXXXXXXXXXX&payload={"text":"</field>
</block>
</value>
<next>
<block type="create" id="U8qp0y6hlekgt7M9Io:z">
<field name="NAME">0_userdata.0.Datenpunkte.chat.file</field>
<value name="COMMON">
<block type="text" id="YO]%|LSlv%@Gh8vATUWF">
<field name="TEXT">{ "name": "file", "desc": "Manuell erzeugt", "role": "state", "type": "string", "read": true, "write": true, "def": "" }</field>
</block>
</value>
<next>
<block type="update" id="L7O#MR-bdm|G~V%tB3WQ">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">0_userdata.0.Datenpunkte.chat.file</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="text" id="]S?6]^DDFqe(KUjTU/IH">
<field name="TEXT">","file_url":"</field>
</block>
</value>
<next>
<block type="create" id="#zA-:.{V[S+R*9J}w1%S">
<field name="NAME">0_userdata.0.Datenpunkte.chat.petra</field>
<value name="COMMON">
<block type="text" id="Y+pL;1E8?74;y-e6,eJT">
<field name="TEXT">{ "name": "petra", "desc": "Manuell erzeugt", "role": "state", "type": "string", "read": true, "write": true, "def": "" }</field>
</block>
</value>
<next>
<block type="update" id="lmG%=|.8TGJFS8-@TIEI">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">0_userdata.0.Datenpunkte.chat.petra</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="text" id="`VY;$dA}jgS1relNi_/e">
<field name="TEXT">","user_ids": [XX]}</field>
</block>
</value>
<next>
<block type="create" id="#ca.9c[Hr!cvw~X9}Mpa">
<field name="NAME">0_userdata.0.Datenpunkte.chat.stefan</field>
<value name="COMMON">
<block type="text" id="w2i9!M{h[C|HVi4r|+P]">
<field name="TEXT">{ "name": "stefan", "desc": "Manuell erzeugt", "role": "state", "type": "string", "read": true, "write": true, "def": "" }</field>
</block>
</value>
<next>
<block type="update" id="6=#9hCI.LDX.*/Xq18E;">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">0_userdata.0.Datenpunkte.chat.stefan</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="text" id="t,oa2|qF:=@Bh?qIABDJ">
<field name="TEXT">","user_ids": [XX]}</field>
</block>
</value>
<next>
<block type="comment" id="1;xAzoL}:6w~0,J*XCF5">
<field name="COMMENT">Synology chat mit Bild</field>
<next>
<block type="on_ext" id="GLSol3Rrzx|U=4hEkqJ_">
<mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
<field name="CONDITION">ne</field>
<field name="ACK_CONDITION"></field>
<value name="OID0">
<shadow type="field_oid" id="L@^X3Z`yr$~gDwh90WL|">
<field name="oid">0_userdata.0.example_state</field>
</shadow>
</value>
<statement name="STATEMENT">
<block type="procedures_callcustomnoreturn" id="(@^+;C-VfwXiG;;,w6vL">
<mutation name="Bild_löschen"></mutation>
<next>
<block type="timeouts_wait" id=";l{TAX0O[5GEg;m+9b!c">
<field name="DELAY">100</field>
<field name="UNIT">ms</field>
<next>
<block type="variables_set" id="FIgc[8rrzBr`TtCt_Njh">
<field name="VAR" id="u^a{RwAvq(*-0PK`(`@4">URL_Snapshot</field>
<value name="VALUE">
<block type="get_value" id="=B9PHOU/pLx0?h+%lESx">
<field name="ATTR">val</field>
<field name="OID">alias.0.Kamera.LastEventData.snapshot_url</field>
</block>
</value>
<next>
<block type="procedures_callcustomnoreturn" id=")8.m*5:cjB,Z.vwL3m](">
<mutation name="Bild_holen"></mutation>
<next>
<block type="variables_set" id=".DnWEOW0Pg_URM34_`@~">
<field name="VAR" id="yW]q[i/Yfz.,5Z+Vb.a,">URL_ioBroker</field>
<value name="VALUE">
<block type="text" id="Akz];NA;oukZHmTP8mdv">
<field name="TEXT">http://192.168.178.11:8082/0_userdata.0/1/snapshot.jpg</field>
</block>
</value>
<next>
<block type="timeouts_wait" id="wwdO+pyI6o1#d@KPC,`q">
<field name="DELAY">1000</field>
<field name="UNIT">ms</field>
<next>
<block type="control" id="vBx`O8l$vkt]s/LC5Bie">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">0_userdata.0.Datenpunkte.chat.befehl</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="text_join" id="dm+0e6{L(iPtuk8!Nv]+">
<mutation items="4"></mutation>
<value name="ADD0">
<block type="get_value" id="2Yr{e1dnlqQ5]V45Z~)^">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.Datenpunkte.chat.chat_bot</field>
</block>
</value>
<value name="ADD1">
<block type="procedures_callcustomreturn" id="GD%^L~Wq_LIL_y86c}(2">
<mutation name="encodeURI">
<arg name="url"></arg>
</mutation>
<value name="ARG0">
<block type="get_value" id="IG0/rfj#`n5DUyGn0/t%">
<field name="ATTR">val</field>
<field name="OID">alias.0.Kamera.LastEventData.message</field>
</block>
</value>
</block>
</value>
<value name="ADD2">
<block type="get_value" id="+y?EgAqov#(5NiXe]?MN">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.Datenpunkte.chat.file</field>
</block>
</value>
<value name="ADD3">
<block type="variables_get" id="~D+Wf%8Rgn9uu1}@s9Hz">
<field name="VAR" id="yW]q[i/Yfz.,5Z+Vb.a,">URL_ioBroker</field>
</block>
</value>
</block>
</value>
<next>
<block type="timeouts_wait" id="^I=uga?[C)og*JMdOS,5">
<field name="DELAY">1000</field>
<field name="UNIT">ms</field>
<next>
<block type="request" id="B%[X%~v2qRFjkxypUY:P">
<mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="true"></mutation>
<field name="WITH_STATEMENT">TRUE</field>
<field name="LOG"></field>
<value name="URL">
<shadow type="text">
<field name="TEXT">text</field>
</shadow>
<block type="text_join" id="-|^UFOC`)ZPh_oPnYb,p">
<mutation items="2"></mutation>
<value name="ADD0">
<block type="get_value" id="qcrE$Ebr}jcFLExm6?(|">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.Datenpunkte.chat.befehl</field>
</block>
</value>
<value name="ADD1">
<block type="get_value" id="0He~_?/Rfx6ekJUtD?(S">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.Datenpunkte.chat.stefan</field>
</block>
</value>
</block>
</value>
<statement name="STATEMENT">
<block type="debug" id="u`-Ee!RLS-Rv:bCxiXno">
<field name="Severity">log</field>
<value name="TEXT">
<shadow type="text" id="u$qY~V}Rv4[nuzF=;*Rg">
<field name="TEXT">test</field>
</shadow>
<block type="text_join" id="76U4^hP)]BXiT##v/;Qu">
<mutation items="2"></mutation>
<value name="ADD0">
<block type="get_value" id="#C[O]Yzk7|mqx:FOAay=">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.Datenpunkte.chat.befehl</field>
</block>
</value>
<value name="ADD1">
<block type="get_value" id="TO[zVm@e28F0fHpIb)hW">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.Datenpunkte.chat.stefan</field>
</block>
</value>
</block>
</value>
<next>
<block type="debug" id="-%qac?h-E8oS~{JuoYH9">
<field name="Severity">log</field>
<value name="TEXT">
<shadow type="text">
<field name="TEXT">test</field>
</shadow>
<block type="variables_get" id="~O;0-B7q:{:NU7p`{tz.">
<field name="VAR" id="s`TAk}2fZk|p^o$4+d@t">result</field>
</block>
</value>
</block>
</next>
</block>
</statement>
<next>
<block type="timeouts_wait" id="4i]Sadf!zQL$%/Z}oq!E">
<field name="DELAY">3000</field>
<field name="UNIT">ms</field>
<next>
<block type="request" id="+k+P=.KGBi?V6iQRH-iA">
<mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="true"></mutation>
<field name="WITH_STATEMENT">TRUE</field>
<field name="LOG"></field>
<value name="URL">
<shadow type="text" id="m)x.{SQWCkI.L=:DAN[r">
<field name="TEXT">text</field>
</shadow>
<block type="text_join" id="8dgf/ad|.~!{?oTtS*o}">
<mutation items="2"></mutation>
<value name="ADD0">
<block type="get_value" id="Xkux@UtO1by%Cw_$ukq$">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.Datenpunkte.chat.befehl</field>
</block>
</value>
<value name="ADD1">
<block type="get_value" id="dE*^Lj,L-M*YnEnCv.%c">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.Datenpunkte.chat.petra</field>
</block>
</value>
</block>
</value>
<statement name="STATEMENT">
<block type="debug" id="%l+BOE5*Nb0,A_mv}Pi-">
<field name="Severity">log</field>
<value name="TEXT">
<shadow type="text" id="I7CCfzV5rIy6-}4s[uQ.">
<field name="TEXT">test</field>
</shadow>
<block type="text_join" id="#L_T`5E1GQ#8#oBOHJ(S">
<mutation items="2"></mutation>
<value name="ADD0">
<block type="get_value" id="ke@t{qSa%j}q@#G,?O|}">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.Datenpunkte.chat.befehl</field>
</block>
</value>
<value name="ADD1">
<block type="get_value" id="6z+it!h{_.r?aBX}X0]e">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.Datenpunkte.chat.petra</field>
</block>
</value>
</block>
</value>
<next>
<block type="debug" id="cQtI!dDJRde$RnimpSnk">
<field name="Severity">log</field>
<value name="TEXT">
<shadow type="text">
<field name="TEXT">test</field>
</shadow>
<block type="variables_get" id="?Y2j)i/BO~[U{aG@Fs;`">
<field name="VAR" id="s`TAk}2fZk|p^o$4+d@t">result</field>
</block>
</value>
</block>
</next>
</block>
</statement>
<next>
<block type="timeouts_wait" id="wq/F/r4;k/K,ixq@WL;Y">
<field name="DELAY">30</field>
<field name="UNIT">sec</field>
<next>
<block type="procedures_callcustomnoreturn" id="qyUa(45n!yuHmuz:Lej{">
<mutation name="Bild_löschen"></mutation>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
<block type="procedures_defcustomnoreturn" id="Fh|~ouZqovH}}ZEi:0P{" x="1012" y="163">
<mutation statements="false"></mutation>
<field name="NAME">Bild_holen</field>
<field name="SCRIPT">DQoNCg0KcmVxdWVzdCgNCg0KICB7DQoNCiAgICB1cmw6IFVSTF9TbmFwc2hvdCAsDQoNCiAgICBlbmNvZGluZzogbnVsbCwNCg0KICB9LA0KDQogIChlcnJvciwgcmVzcG9uc2UsIGJvZHkpID0+IHsNCg0KICAgIGlmICghZXJyb3IgJiYgYm9keSkgew0KDQogICAgICB3cml0ZUZpbGUoIjBfdXNlcmRhdGEuMCIsICIvMS9zbmFwc2hvdC5qcGciLGJvZHkgKTsNCg0KICAgIH0NCg0KICB9DQoNCik7DQo=</field>
<comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
</block>
<block type="procedures_defcustomreturn" id="B`%(UJ@(5HI^#[)t`k$:" x="1013" y="188">
<mutation statements="false">
<arg name="url" varid="W7rU$,grIeN%1KO4vB%|"></arg>
</mutation>
<field name="NAME">encodeURI</field>
<field name="SCRIPT">dXJsID0gZW5jb2RlVVJJQ29tcG9uZW50KHVybCk7DQpyZXR1cm4gdXJsOw==</field>
<comment pinned="false" h="80" w="160">encode URL function</comment>
</block>
<block type="procedures_defcustomnoreturn" id="Frub~%,eU2~ya#!niSf0" x="1012" y="213">
<mutation statements="false"></mutation>
<field name="NAME">Bild_löschen</field>
<field name="SCRIPT">DQoNCg0KcmVxdWVzdCgNCg0KICB7DQoNCiAgICB1cmw6IFVSTF9TbmFwc2hvdCAsDQoNCiAgICBlbmNvZGluZzogbnVsbCwNCg0KICB9LA0KDQogIChlcnJvciwgcmVzcG9uc2UsIGJvZHkpID0+IHsNCg0KICAgIGlmICghZXJyb3IgJiYgYm9keSkgew0KDQogICAgICBkZWxGaWxlKCIwX3VzZXJkYXRhLjAiLCAiLzEvc25hcHNob3QuanBnIixib2R5KTsNCg0KICAgIH0NCg0KICB9DQoNCik7DQo=</field>
<comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
</block>
</xml>
es fehlt der native part
so sollte es funktionieren
{
"common": {
"name": "Test",
"desc": "Manuell erzeugt",
"role": "state",
"type": "boolean",
"read": true,
"write": true,
"def": false,
"custom": {
"iot.0": {
"smartName": {
"de": "Test"
}
}
}
},
"native":{},
"type": "state",
"_id": "0_userdata.0.Devices.Testgeraet.Test",
"acl": {
"object": 1636,
"state": 1636,
"owner": "system.user.admin",
"ownerGroup": "system.group.administrator"
},
"from": "system.adapter.admin.0",
"user": "system.user.admin",
"ts": 1641086865932
}
@grombiegel sagte in Variable für shelly nutzen:
Jetzt war mein Shelly kaputt, musste ersetzt werden und ich musste im Script bei allen "steuere" das Objekt wieder neu setzen.
ich benutze für alle Datenpunkte die in einer VIS oder für Blockly´s benutzt werden einen Alias. Dann musst du nur den Alias neu setzen und es funktioniert wieder.
@brokeling
Bei mir war der automatische Neustart der Kamera schuld. Seitdem ich den Neustart deaktiviert habe läuft es ohne Probleme
Das geht auch nicht.
Es gibt dazu einen Issue auf Github.
In der neuen Beta besteht jetzt die Möglichkeit über einen Reverse proxy zuzugreifen inkl. Vergabe von Zugangsdaten.
Oder über VPN.
@ringo-66
Der Reolink Adapter läuft bei mir nur mehr nebenbei.
Ich habe die Kamera über den neuen Onvif Adapter eingebunden.
Da werden sämtliche Bewegungserkennungen (Mensch, Tier, Fahrzeug) extra ausgegeben.
Bilder werden bei mir über FTP auf der Synology gespeichert und über Synolgy-Chat am mich gesendet
Ich löse das über einen Kalender den ich via ical-Adapter auslese. Nur an Tagen mit Eintrag Weihnachtsbeleuchtung wird ausgelöst
@bjoern77 sagte in Modbus & Fronius GEN24:
Aber ich Versuche den minSOC über Modbus zu ändern.
Laut den Fronius Webinaren sollten die SOC-Grenzen immer im "Auto"-Modus sein und kann auch glaube ich nicht über Modbus verstellt werden.
Wenn ich 40350 auslese, bekomme ich 11%, in dem UI habe ich aber 10% eingestellt.
Der Register 40350 ist der Reserve-SOC und nicht der minSOC
Das stimmt bei mir auch nicht
Da kann ich auch nicht weiterhelfen.
Wie gesagt ich nutze INT&SF und bei mir sind die Werte indent.
Solarweb:
Modbus:
ergibt zusammen
Du schreibst einmal FLOAT und dann INT&SF
Das wird nicht zusammenpassen.
Gesamtleistung INT&SF
modbus.0.holdingRegisters.1.40186_ActWh -> Lifetime AC Leistung
modbus.0.holdingRegisters.1.40275_module/1/DCWH -> Lifetime DC MPPT1
modbus.0.holdingRegisters.1.40295_module/2/DCWH -> Lifetime DC MPPT1
Wenn den angezeigten Wert der APP haben möchtest musst du diese beiden Werte zusammenzählen
Batterieladung Gesamt:
Entladung Gesamt
Ich speichere die Werte in eine SQL Datenbank und ermittle über eine Abfrage die Tageswerte.
Hallo
Über Modbus kannst du nahezu alles steuern bzw. auslesen.
Es gibt hier im Forum gute Anleitungen bzw. Erklärungen.
Einfach mal die Suche bedienen.
Danke für den Hinweis.
Läuft seit einer Woche und und funktioniert wirklich ohne Probleme.