NEWS
SONOFF NSPanel mit Lovelace UI
-
@tt-tom Hatte ich schon mal aber da gab es keine richtige Antwort.
Ich hab ein kleines Blockly gemacht, welches die Sekunden in eine Zeit umwandelt. Ich muss da nur noch einen Umschalter reinmachen ob der Timer ein Timer ist oder eine Uhrzeit, damit die Uhrzeit nicht runter gezählt wird sobald sie eingestellt ist.
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="86:D-8adXijp2={gDX23">min</variable> <variable id="r9w9}E;K]NRS:pL{,V%4">std</variable> </variables> <block type="on_ext" id="!*|$z^H*ZXYt?sTK*chm" x="113" y="-587"> <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="3SKRKl%A3kg+R46C@SrH"> <field name="oid">0_userdata.0.Timer.ACTUAL</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="W6j|lu.e?F64/a5R2+!/"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="dPXpAnMtYN|vo{ZN@DRD"> <field name="OP">GT</field> <value name="A"> <block type="on_source" id="q%h;;.j:aF8eLOq0W)fx"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="he4I6e,jS?x1P-coYg^,"> <field name="NUM">59</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="4HBrdd2#s0t5dUuWCV]~"> <field name="VAR" id="86:D-8adXijp2={gDX23">min</field> <value name="VALUE"> <block type="math_modulo" id="WyYd?3;TUi[Kj9N;RmA#"> <value name="DIVIDEND"> <shadow type="math_number" id="tt^3A#VF#m;Gx;b:9XAg"> <field name="NUM">64</field> </shadow> <block type="on_source" id="}%42#6@f[Qz95@2:Lpd["> <field name="ATTR">state.val</field> </block> </value> <value name="DIVISOR"> <shadow type="math_number" id=".?7hFOLfC.1YQ/rTW;k?"> <field name="NUM">60</field> </shadow> </value> </block> </value> <next> <block type="variables_set" id="Hh;MTmaxBD^(@s$]K!+b"> <field name="VAR" id="r9w9}E;K]NRS:pL{,V%4">std</field> <value name="VALUE"> <block type="math_arithmetic" id="%Pxsz^z:`Mk[Xh1{@ZO."> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="?XvM(/Z9rJaq_ByB;-1["> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="Jwo8Gdsf6DZ*}M~2bWGw"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="o@Ul)m+x=)jF0lth.WFY"> <field name="NUM">1</field> </shadow> <block type="on_source" id="I#VoJa5*b[jW|6-Xs2XC"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <shadow type="math_number" id="F`mWn%m$vLIkOw)!z$9O"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="yj#G1*{JMSv%[.EgGLpY"> <field name="VAR" id="86:D-8adXijp2={gDX23">min</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="tO2o(96fy:qz!j)X}2kc"> <field name="NUM">60</field> </shadow> </value> </block> </value> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="bbBvgb;%w7.;$TL8gcXc"> <field name="OP">LTE</field> <value name="A"> <block type="on_source" id="@{!BfD!,1MGg0JjPX`/@"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="r}]UJd|1{2B27+@L|frZ"> <field name="NUM">59</field> </block> </value> </block> </value> <statement name="DO1"> <block type="variables_set" id="y!YFxqxr,A[jgGh)Jn5Q"> <field name="VAR" id="86:D-8adXijp2={gDX23">min</field> <value name="VALUE"> <block type="on_source" id=",Az_K{xVZWGMGEy6MuU-"> <field name="ATTR">state.val</field> </block> </value> </block> </statement> <next> <block type="control" id="tOGxdGp,[2b$rHwHUp{v"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Timer.Zeit.std</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="vMtU^(jbol6i,-I.X.a%"> <field name="VAR" id="r9w9}E;K]NRS:pL{,V%4">std</field> </block> </value> <next> <block type="control" id="Zz[)mx.;P1$=RD3TrsFs"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Timer.Zeit.min</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="Ol~.{Zw2xyMb@R2OFP`7"> <field name="VAR" id="86:D-8adXijp2={gDX23">min</field> </block> </value> <next> <block type="control" id="w5?op69x/#WL)ChDImu#"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Timer.Zeit.Zeit</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id="Dz..P0PH}U+y*,=x.[2M"> <mutation items="5"></mutation> <value name="ADD0"> <block type="variables_get" id=",E+RX=qXxg79m#+J=X6G"> <field name="VAR" id="r9w9}E;K]NRS:pL{,V%4">std</field> </block> </value> <value name="ADD1"> <block type="text" id="pRoD#[vtwzAnWY@)zz-m"> <field name="TEXT">:</field> </block> </value> <value name="ADD2"> <block type="variables_get" id=")8Mo94l4kYjL!OEqB#Q="> <field name="VAR" id="86:D-8adXijp2={gDX23">min</field> </block> </value> <value name="ADD3"> <block type="text" id="@pQu}W.@VrE32ny[x#n_"> <field name="TEXT">:</field> </block> </value> <value name="ADD4"> <block type="text" id="0E!wP$K[R4C)Z@BJNtY-"> <field name="TEXT">00</field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </next> </block> </statement> </block> <block type="schedule" id="CT1[DYShkPFSs,*O#g]:" x="763" y="-537"> <field name="SCHEDULE">*/10 * * * * *</field> <statement name="STATEMENT"> <block type="controls_if" id="0HEj[/r]9f6D|B8;Y`[?"> <value name="IF0"> <block type="time_compare_ex" id="FI~[ksEr0IwTcg=QkwBE"> <mutation xmlns="http://www.w3.org/1999/xhtml" end_time="false" actual_time="true"></mutation> <field name="USE_ACTUAL_TIME">TRUE</field> <field name="OPTION">==</field> <value name="START_TIME"> <shadow type="text" id="XL89tet[4DQ5cb)y~yt="> <field name="TEXT">12:00</field> </shadow> <block type="get_value" id="x@I%dHA33Pol:IzuUQ_["> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Timer.Zeit.Zeit</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="Xyt]m1MR,knVLpkR_8-."> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Timer.Zeit.Alarm</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="sMK/cam7xTpNI]G-!EO7"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> </block> </statement> </block> </xml>
-
Hallo zusammen,ich mal wieder.
Habe heute das Update durchgeführt.
Wasjetzt ist, das der Bildschwirm "schwarz" wird und wenn ich ihn berühre kommt der "Normale Screensaver".
Was muss ich ändern das immer der "normale" bleibt?
Daaanke -
Was für ein Update, ein paar Infos muss du schon geben.
-
@tt-tom
Ok habe auf die aktuelle Version aktualisiert (Berry 8 und Nextion 4.1.1) -
@tobiasp
So habe gerade Nextion nocheinmal geflasht und alles ist wieder normal.
Danke trotzdem -
@tobiasp okay
-
Habe seit Java script 7.0.5 aktuell 7.1.0 folgenden Fehler:
14.6.2023, 09:16:28.744 [info ]: javascript.0 (12132) Stop script script.js.NSPanels.NsPanelTS40514_ 14.6.2023, 09:16:30.334 [info ]: javascript.0 (12132) script.js.NSPanels.NsPanelTS40514_: compiling TypeScript source... 14.6.2023, 09:16:30.937 [error]: javascript.0 (12132) script.js.NSPanels.NsPanelTS40514_: TypeScript compilation failed: if ((pageItem.useColor || useColors) && ((typeof (value) === 'boolean' && value) || value > (pageItem.minValueBrightness !== undefined ? pageItem.minValueBrightness : 0))) { ^ ERROR: Operator '>' cannot be applied to types 'number | boolean' and 'number'.
7.0.3 fumktioniert
-
Ja, JS-Adapter (stable) ist immer noch 6.1.4.
Größer 7.0.3 funktioniert bei mir auch nicht...
-
Hallo zusammen
Auch nach viel Lesen scheitere ich immer noch am "waiting for content" Bildschirm. Ich weiss echt nicht was ich noch prüfen soll.
Die MQTT Verbindung steht aber das Panel scheint immer mit unknown command zu antworten.
Hier mal meine Konfig:
Das ist dann eine Payload im CustomSend:
entityUpd~Büro~button~bPrev~~65535~button~bNext~~65535~deletedelete~~delete~deleteUnd das Panel sendet dann im STAT RESULT zurück
{
"Command": "Unknown"
}Was habe ich falsch gemacht, ich blicks wirklich nicht mehr. Hoffe ihr könnt mir helfen.
-
@chuckle
nimm mal die Websockets raus.kannst du mal auf der Tasmota Konsole schauen was dort ankommt.
-
@tt-tom Websockets mal rausgenommen, hat nicht geholfen.
Auf der Panel Konsole sehe ich nur das:
Kann ich da noch mehr ausgeben lassen? -
@chuckle Da bei mir der ioBroker auch als Client gegen einen Mosquitto läuft sehen meine Einstellungen etwas anders aus - ich finde allerdings Deine die IP in Deinem ersten Screenshot merkwürdig, meine IPv4 Adressen sind alle ohne irgendwelche Zusätze geschrieben.
Was Du noch ausprobieren könntest wäre, den MQTT Explorer herunterzuladen und gegen den ioBroker zu connecten, um die Einstellungen zu verifizieren.Gruß, Lars
-
@l4rs Danke für die Hinweise. Das ist das Interface, ioBroker läuft auf einer ProxMox VM. Ich hatte zuerst es auch über eine Moqutto Instanz am laufen, das ging aber auch nicht, also hab ich den Server in ioBroker inkludiert.
Ich habe die mqtt Verbindungen mit MQTTX getestet, das funktioniert soweit. Interessanterweise sehe ich dort die Änderung an einem Relais nicht. Aber im ioBroker sehe ich den Zustand sofort.... -
@chuckle deine Einstellungen passen zu meinem Testsystem. Das läuft auch auf einer VM.
Läuft dein Panel Script, kommen Meldungen im Log?
Ggf das Script nochmal neu starten und den Debug Modus mal aktivieren im Script (Debug = True). -
@tt-tom Panel Script läuft, Debug Modus ist bereits eingeschaltet. Messages kommen am MQTT-Broker an, aber am Panel irgendwie nicht so, das es damit was anfangen kann.
-
Hast du das Panel frisch geflasht. Vielleicht ist da was schief gegangen
-
@tt-tom du meinst damit: FlashNextion http://nspanel.pky.eu/lovelace-ui/github/nspanel-v4.0.5.tft?
Ja schon 3mal -
@chuckle ich frage mal im Backoffice nach
-
- Bist du sicher, dass bei dir der Port 1886 (ebenfalls der Port 1887) frei ist? Ansonsten mal auf z.B. 1890 ausweichen.
- nutzt du evtl. ein Passwort für die Web-Oberfläche im Tasmota?
- Kommt Status0 im mqtt.1.SmartHome.stat.Status0 an
- Was steht in den Objekten im mqtt1.SmartHome... (mal einen Screenshot auf den ausgeklappten Baum)
Ist ein reines MQTT-Sendeproblem
-
Hallo an alle,
bin erst seit kurzem dabei mein Haus "smart" zu machen. Hab vorher alles irgendwie mit Arduinos, eigenen Programmen und einer eigenen Visualisierung auf Basis von PHP und MySQL umgesetzt. Hat auch gut funktioniert. Aber was mit IOBroker so möglich ist geht weit über das hinaus was ich bis jetzt umgesetzt habe.
Ich bin begeistert was mit dem NSPanel und der UI so alles möglich ist.
Jetzt habe ich ein paar Fragen die mir die Suche hier im Forum und auch bei Google nicht beantwortet werden konnten.- Da ich die Panels hauptsächlich als Thermostate in den Räumen einsetzen möchte stellt sich mir die Frage ob anstatt
der aktuellen Zeit auch die aktuelle Raumtemperatur (kommt von einem Zigbee Thermometer) angezeigt werden kann? - Ist es möglich auch Zeitpläne über das Panel einzustellen? Also in etwa so:
ab 6:00 Uhr Heizung 20 Grad ab 8:00 Uhr 18 Grad
Ich möchte es meiner Frau so einfach wie möglich machen auch mal was einzustellen
Mit besten Grüssen Rene
- Da ich die Panels hauptsächlich als Thermostate in den Räumen einsetzen möchte stellt sich mir die Frage ob anstatt