NEWS
Automatischer Wechsel des VIEW zu einer bestimmten Zeit
-
-
Eine alternative Lösung:
1 Datenpunkt, welche um 05:00 auf 0, um 18:00 auf Wert 1 gesetzt wird.
Dieser Datenpunkt steuert ein "View in Widget 8". In dem Widget musst du dann nurnoch für View Tab [0] die Tagesview und bei View Tab [1] die Nachtview sowie unter Object ID den o.g. Datenpunkt anlegen. -
@opossum Guten Morgen und....danke.
Leider hab ich es so wie du das hier am Bild zusammengestellt hast bereits versucht. Eigentlich funtioniert es so auch (also er schaltet schon um auf die andere VIE).Wenn ich im iobroker auf Objekte gehe und die 3 vis-Zeilen beobachte,dann schaltet er "command" & "data" schon umABER.........
Sobald ich mich mit einem Gerät (Ipad,Handy...) einlogge (also auf die VIE gehe) Schaltet er in der sec. wieder auf die ursprungs view zurück.Daher glaube ich das die Version von "Coffelover" mit den Datenpunkten setzen, funtionieren könnte. Jedoch bekomm ich das alleine nicht hin die Datenpunkte so zu erstellen......werde es aber versuchen
Danke Jungs....
-
@vtecmike sagte in Automatischer Wechsel des VIEW zu einer bestimmten Zeit:
Sobald ich mich mit einem Gerät (Ipad,Handy...) einlogge (also auf die VIE gehe) Schaltet er in der sec. wieder auf die ursprungs view zurück
dafür ist doch auch die instance control vis, anstatt mit * alle zu schalten, explizit die Instanz des Gerätes schalten, dann sollte es egal sein, was du auf nem anderen Gerät machst.
-
@crunchip Verstehe ich dich richtig, ich soll in "instance-Control vis" statt !! soll ich die id des gerätes eintragen....?
-
-
@crunchip sagte in Automatischer Wechsel des VIEW zu einer bestimmten Zeit:
die Vis im EDIT Modus auf
Anderer Vorschlag:
Nimm folgendes Widget und ziehe es an eine freie Stelle auf deiner VIS (ggfs. Schriftfarbe anpassen).
Aktualisiere und Starte nun die VIS (ioBroker-APP) auf deinem Gerät, bei welchem du die View ändern lassen willst.
Jetzt siehst du die Instanz-ID in diesem Widget..
So kannst du ganz einfach sämtliche Instanz-ID´s all deiner Geräte auslesen. -
@vtecmike sagte in Automatischer Wechsel des VIEW zu einer bestimmten Zeit:
@peoples Echt nett von dir, dafür schonmal danke.......
Also ich hab einen View der heißt "04Navigation" und den sollte man von 05:00Uhr bis 18:00Uhr zu sehen sein. Dann habe ich einen Nacht-View,der heißt "03NavigationNacht" und der sollte automatisch von 18:00-05:00Uhr zu sehen sein . Mein Projekt heißt "HOME"
wenn du noch infos brauchst, meld dich einfach...
Hi,
sorry hat weng gedauert. Ich habe dir da mal schnell was zusammengebastelt sollte funktionieren.
Das FFFFFF.... bei Instance bedeutet dass er alle Geräte dahin umschaltet, möchtest du ein spezielles, brauchst du wie schon erwähnt die Instanz der View des Wunschgerätes.Rückinfo ist gewünscht
function viewSwitch(dp){ if(dp == 'tag'){ setState('vis.0.control.instance', 'FFFFFFFF'); setState('vis.0.control.data', 'HOME/04Navigation'); setState('vis.0.control.command', 'changeView'); } else { setState('vis.0.control.instance', 'FFFFFFFF'); setState('vis.0.control.data', 'HOME/03NavigationNacht'); setState('vis.0.control.command', 'changeView'); } } schedule('00 5 * * *', function () { viewSwitch('tag'); log('View gewechselt um 5 Uhr früh'); }); schedule('00 18 * * *', function () { viewSwitch('nacht'); log('View gewechselt um 18 Uhr abends'); });
-
@kusi Woher bekomme ich das widget....dein gepostetes kann ich nicht rein ziehen.
Kann ich das wo downloaden?Ach und noch etwas....wisst ihr wie ich mehrere ID Nummern der Geräte eintrage ?Muss ich die mit einem beistrich trennen oder strichpunkt? FFFFFFFF will ich nicht,sollen nicht alle geräte sein! 3 Stk
-
@vtecmike sagte in Automatischer Wechsel des VIEW zu einer bestimmten Zeit:
Woher bekomme ich das widget
Ist dies nicht ein Standard-Widget und vorinstalliert?
-
Du musst das FFFFFFFF ersetzen bzw. Wenn es mehr als ein Gerät ist das du umschalten willst, den Wechselbefehl für jede Instanz ausführen
-
Folgendes Update kann ich euch geben:
Warum eure Tips grundsätzlich nicht funtioniert haben ist......das die Zeit die der iobroker nimmt,nicht die gleiche ist wie der PC (also die richtige Zeit). Und zwar denke ich es liegt an der Sommerzeit Stunde...denn der iobroker ist genau 1 Std. hinten.
Gut, dass habe ich jetzt kompensiert als das ich einfach die Zeit die ich zum Umschalten gerne hätte um eine Std. vor stelle.
Ich hab jetzt durch Tage langes googeln verschiedene Versionen des Blockly Skripts zusammengestellt. Leider funtioniert das umschalten nur ab und zu und dann auch nur ein mal.....wenn ich den Timetrigger raus nehme und durch einen Switch ersetze,funtioniert es. Nur mit den ganzen Timetrigger (sowohl Cron als auch die anderen, mag er nicht.Das mit den einzelnen Geräten statt FFFFFFFF hab ich auch aufgegeben,dass funtioniert nicht.Da im Datenpunkt von "instance" immer "notdefined" steht und auch immer so bleibt.
So hab ich den Block jetzt gebaut und am laufen...jedoch funtioniert es blos über den schalter den ich eingebaut habe
PS:Ich weiss leider nicht wie ich hier den Blockly Export Skript hier posten kann ,sorry dafür...
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable type="cron" id="meinZeitplan">meinZeitplan</variable> <variable type="cron" id="meinZeitplan2">meinZeitplan2</variable> </variables> <block type="on" id="*HWp1D${`-yl+E,`u3s]" x="-1812" y="-1387"> <field name="OID">0_userdata.0.Wassermelder.Sensor</field> <field name="CONDITION">true</field> <field name="ACK_CONDITION"></field> </block> <block type="procedures_callnoreturn" id="8K-Oq~h$#|zvA/(6]R5s" x="-1562" y="-1187"> <mutation name="registriereZeitplan"></mutation> <next> <block type="on" id="sN9Z.t:e@!U@Y5hQqKhP"> <field name="OID">0_userdata.0.Wassermelder.Sensor</field> <field name="CONDITION">true</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="procedures_callnoreturn" id="e5gZQ:#(lCfQqHS=7U,)"> <mutation name="registriereZeitplan"></mutation> </block> </statement> </block> </next> </block> <block type="procedures_defnoreturn" id="0LnAu)iEiLW~e!tuysBt" x="-1563" y="-963"> <field name="NAME">registriereZeitplan</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="schedule_clear" id="-UZInqFHfO=u[,~I=V(s"> <field name="NAME">meinZeitplan</field> <next> <block type="debug" id="C`B1G]?%asBMl*htFd+,"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="[=8AY*`V67o`I*%AWi7$"> <field name="TEXT"></field> </shadow> <block type="time_get" id="`S_4Xioo*=vYq75|:fud"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="true" language="false"></mutation> <field name="OPTION">custom</field> <field name="FORMAT">JJJJ.MM.TT SS:mm:ss.sss</field> </block> </value> <next> <block type="schedule_create" id="9[Pc`3+LkpDRi?8S/fHY"> <field name="NAME">meinZeitplan</field> <value name="SCHEDULE"> <shadow type="field_cron" id="mJ2^)[SuEbxW}v0ri^WG"> <field name="CRON">* * * * *</field> </shadow> <block type="field_cron" id="Ds/|)X]8Q9Y?-{~g)@FH"> <field name="CRON">0 17 * * *</field> </block> </value> <statement name="STATEMENT"> <block type="controls_if" id="Eh)TH4QX=`?=?Fc1$+FV"> <value name="IF0"> <block type="logic_boolean" id="Tl_Pj=FGyhMm!Bn/mYvH"> <field name="BOOL">TRUE</field> </block> </value> <statement name="DO0"> <block type="control" id="=qD.2d[b~GZ`5@$8X:VB"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">vis.0.control.instance</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id=",0a--*OZIvtYpk#f3VeS"> <field name="TEXT">FFFFFFFF</field> </block> </value> <next> <block type="control" id="26Cz72*P/e}/Mq2aJbl{"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">vis.0.control.data</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="Nx;2Pb|,M+/KE/od{Hqd"> <field name="TEXT">Home/03NavigationNacht</field> </block> </value> <next> <block type="control" id="#%t11NuyCJqU]r)+-p~s"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">vis.0.control.command</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="5Z=C9_u|_[@25=IoO`+~"> <field name="TEXT">changeView</field> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> <block type="procedures_callnoreturn" id="1kl8:7KS3W/@nHJ:)rr$" x="-1562" y="-587"> <mutation name="registriereZeitplan2"></mutation> <next> <block type="on" id="bAO6]U8;L{p_vg`v}tkM"> <field name="OID">0_userdata.0.Wassermelder.Sensor</field> <field name="CONDITION">true</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="procedures_callnoreturn" id="@Qr5$/oy~WdG(eo$82?)"> <mutation name="registriereZeitplan2"></mutation> </block> </statement> </block> </next> </block> <block type="procedures_defnoreturn" id="{dM;I%I:bkTdyX3+c{p|" x="-1562" y="-387"> <field name="NAME">registriereZeitplan2</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="schedule_clear" id="m:)sSx{Q%KIK9WeFKki-"> <field name="NAME">meinZeitplan</field> <next> <block type="debug" id="JVfvpZVRlmcL|1.s2/Zq"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text"> <field name="TEXT"></field> </shadow> <block type="time_get" id="K)Bhsx4JRHXR(--/:lqw"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="true" language="false"></mutation> <field name="OPTION">custom</field> <field name="FORMAT">JJJJ.MM.TT SS:mm:ss.sss</field> </block> </value> <next> <block type="schedule_create" id="Xmnhafwq$q5binP_?$HC"> <field name="NAME">meinZeitplan2</field> <value name="SCHEDULE"> <shadow type="field_cron" id="RXKCv)}.|jM+A!v*/,+F"> <field name="CRON">* * * * *</field> </shadow> <block type="field_cron" id="%~X6]MIQlA/G10SCB`ai"> <field name="CRON">0 6 * * *</field> </block> </value> <statement name="STATEMENT"> <block type="controls_if" id="hs9`3p/@oVOlgcfU|2{,"> <value name="IF0"> <block type="logic_boolean" id="z;vsP,_fsVO(F0o*T!lA"> <field name="BOOL">TRUE</field> </block> </value> <statement name="DO0"> <block type="control" id="q.sG|F0`84h}u10SAHUG"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">vis.0.control.instance</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="aGk23%J-PrC+w#Z7N,y}"> <field name="TEXT">FFFFFFFF</field> </block> </value> <next> <block type="control" id="c7A9*kPm9VkTctgzzleD"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">vis.0.control.data</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="{S2xe0]]NM1pT|PJSF]E"> <field name="TEXT">Home/04Navigation</field> </block> </value> <next> <block type="control" id="I5=#4Y2g-Yg{ig(Bte2f"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">vis.0.control.command</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="?`o+$wsWQ$~@=j*4{hD]"> <field name="TEXT">changeView</field> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> <block type="on" id="p4v=J%:i!Wpx;tUc$9~Q" x="-1662" y="-37"> <field name="OID">0_userdata.0.Time.Button</field> <field name="CONDITION">true</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="X-jm3f^^OmGor-(Y8UP;"> <value name="IF0"> <block type="logic_boolean" id="Vp47z.L,-XTG/iDXhKXn"> <field name="BOOL">TRUE</field> </block> </value> <statement name="DO0"> <block type="control" id="ao@rqnZA3HTTe/3MMcsk"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">vis.0.control.instance</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="fKGA9P@V7bQ9njHBfP6X"> <field name="TEXT">FFFFFFFF</field> </block> </value> <next> <block type="control" id="xN8fU=bbJq80?5j{#-E]"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">vis.0.control.data</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="DK}b.$m+]HWh}$90f84]"> <field name="TEXT">Home/03NavigationNacht</field> </block> </value> <next> <block type="control" id="!76~69-hvNEG),ecJ+i["> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">vis.0.control.command</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="?w|;Y(1@CG~.NMYt28EP"> <field name="TEXT">changeView</field> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> <block type="on" id="{(LuPbhME@NviW+kWnda" x="-1662" y="288"> <field name="OID">0_userdata.0.Time.Button</field> <field name="CONDITION">false</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="yYmNZ:Lm3VQTtg_5vjoU"> <value name="IF0"> <block type="logic_boolean" id="nzmTY5-FqbKmwoC1c{`I"> <field name="BOOL">TRUE</field> </block> </value> <statement name="DO0"> <block type="control" id="XQFw1w2zO(A9PD~)*M6a"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">vis.0.control.instance</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id=",czvw:YV%NL#}F%J7B^M"> <field name="TEXT">FFFFFFFF</field> </block> </value> <next> <block type="control" id="V_R2O@jP((N?xqGjC]cW"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">vis.0.control.data</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="-kS#PO0b:!{e%HW04:wS"> <field name="TEXT">Home/04Navigation</field> </block> </value> <next> <block type="control" id="]4DqWJBj(r8LYAc+o/B+"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">vis.0.control.command</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="@5#%zNA.Uv=H,7-08+/v"> <field name="TEXT">changeView</field> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </xml>
-
@vtecmike Hast du denn auf dem System auf dem ioBroker läuft die richtige Zeit / Zeitzone eingestellt?
-
@vtecmike sagte in Automatischer Wechsel des VIEW zu einer bestimmten Zeit:
Und zwar denke ich es liegt an der Sommerzeit Stunde...denn der iobroker ist genau 1 Std. hinten.
timedatectl
Gib mal obigen Befehl in der Konsole (Putty) ein und schaue, ob die Uhrzeit bei Local Time der jetzigen übereinstimmt.
Vermutlich stimmt aber die Zeit nicht, da die Time Zone falsch ist...
So sieht es bei mir aus und ist korrekt:
Falls die Zeitzone nicht stimmt und du diese auf Berlin einstellen möchtest, dann musst du folgendes eingeben:
sudo timedatectl set-timezone Europe/Berlin
Wie folgt sieht das Blockly bei mir aus, um die View (Nachtmodus) zu ändern:
-
@vtecmike
Und das mit dem notdefined kommt daher dass du mit Hilfe des o.g. Widgets keine Instanz generiert hast und dieses auch nicht automatisch passiert ist -
-
@vtecmike sagte in Automatischer Wechsel des VIEW zu einer bestimmten Zeit:
@peoples Kannst du mir kurz erklären wie ich das mache?
Du gehst in eine deiner Views und fügst über den Button Widgets Importieren (oben in der Leiste) folgenden Code ein:
[{"tpl":"tplScreenResolution","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"804px","top":"654px","color":"white","width":"276px","height":"97px","z-index":"2"},"widgetSet":"basic"}]
Dann sollte ein Widget erscheinen das dir deine Default View, deine Auflösung und Instance zeigt.
Wenn keine Instance existiert wird soweit ich mich erinnern kann ein Link/Button gezeigt um eine zu erstellen.