NEWS
Test Adapter iQontrol 2.0.x Vis (Entwicklungs-Thread)
-
hi @s-bormann ,
ich habe eine schwierigkeit, die ich nach aller analyse auf den adapter schiebe: mein iobroker ist mit allen seinen instanzen über einen reverse proxy erreichbar. funktioniert alles einwandfrei, iobroker-admin und iobroker web laufen dbaei über eigene subdomains. funktioniert auch alles, eigentlich einwandfrei.
das einzige, was nicht klappt, sind in der iqontrol-amdinistration die anzeige der icons!die icons will iqontrol hier über den web-port abrufen, obwohl ich mich im admin-bereich befinde. dadurch, dass die links im backend generiert werden, greift der reverse proxy hier nicht ein.
kannst du das anpassen, dass iobroker in der admin-oberfläche entsprechend die icons über den admin-port bereitstellt?
gruß,
andre -
@astrakid sorry, warum sollte ein adapter auf deine "speziellen" anforderungen geändert werden?
-
@da_woody hab mich ungeschickt ausgedrückt - aus meiner sicht sollte der adapter alle daten über den port der admin-konfiguration ausliefern. ich will also keine anpassung für "meine" bedürfnisse, sondern denke, dass das verhalten hier nicht standard-konform ist. vielleicht liege ich auch falsch?
gruß,
andre -
Hallo, ich habe mal einen zweiten DP im Flot Widget eingestellt. Dabei ist mir aufgefallen, dass die Beschriftung der X-Achse bei der vergrößerten Ansicht abgeschnitten ist. Bei dem Flot Widget mit einem DP ist die Beschriftung in Ordnung. Kann man das irgendwo einstellen?
-
@gonzokalle
Bin ich der einzige mit dem Problem? -
@Post 7540
Versuche vergeblich, meine Darstellung, sprich sowohl korrektes Icon wie auch korrekter Text angezeigt zu bekommen. Habe 2 Nuki zu Hause, 1 mal den 2.0 und einmal den 3.0 Pro Plus, jedoch mit externen Bridge. Ich möchte ebenfalls, dass nur 1 Widget "alle" Stati anzeigt und zwar:
- zugessperrt
- aufgesperrt
- geschlossen
- geöffnet
Kann mir keiner helfen?
-
@vazi wer soll da helfen können?
1 Kachel, 1 Icon, wie sollen da 2 nukis dargestellt werden? -
Wie löst ihr das denn? Muss tatsächlich pro Nuki 2 Widgets dargestellt werden. Einmal für Status zugesperrt und aufgesperrt und ein weiteres mit geschlossen und geöffnet... oder wie auch immer?
Bin auch offen für Neues. -
@da_woody sagte in Test Adapter iQontrol 2.0.x Vis (Entwicklungs-Thread):
1 Kachel, 1 Icon, wie sollen da 2 nukis dargestellt werden?
Moin,
bin zu faul zum Basteln, aber ich kann mir vorstellen, dass das mit
INFO_A/Info_B
für die Zustände undADDITIONAL_CONTROLS
für die Aktionen zu bewerkstelligen seien sollte, ob das dann schön aussieht, steht auf einem anderen Blatt.
Ich habe auch gerade keine Idee, wie man das vielleicht als Alias oder per Skript in eigene Datenpunkte, sinnvoll hinein bekommt.VG
Bernd -
@vazi ich lös da gar nix, hab kein nuki. aber, hab grad auf meiner testpage ein gerät tür mit schloss angelegt.
da haste in den einstellungen schon mal:
drinnen. usst ja einen DP in den objekten haben, der den jeweiligen zustand anzeigt.
damit und den ideas von @dp20eic sollte schon was möglich sein... -
Hallo, gibt es auch die Möglichkeit einen HTTP REQUEST zu senden, z.B. für einen Türöffner. In der VIS habe ich das hinbekommen, aber bei iQontrol finde ich mich noch nicht wirklich zurecht.
Kann mir jemand helfen?
Danke schon mal ....
S.P. -
@markus-frankl sagte in Test Adapter iQontrol 2.0.x Vis (Entwicklungs-Thread):
hat schon jemand geschafft den Pfad zu den Ring Doorbell aufnahmen darzustellen? Wo muss ich das denn eintragen?
Bist du da nach fast drei Jahren zufällig weiter gekommen?
-
@h-a-m-i sagte in Test Adapter iQontrol 2.0.x Vis (Entwicklungs-Thread):
Bist du da nach fast drei Jahren zufällig weiter gekommen?
Moin,
anstatt, hier nur eine sinnfreie Frage zu stellen, zeig doch mal wie das bei Dir aussieht, also wie sehen die Datenpunkte der Ring aus, gibt es einen DP für die Aufnahmen? Kannst Du die Aufnahmen mittels Skript holen und in einen eigenen DP ablegen?
Also mehr Inhalt, täte gut
Und weil es mal wieder passt -> https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge
VG
Bernd -
@Vazi
Ich denke dein Problem ist zum einen dass dein State falsch ist.
Hier sollte eher der "doorState" rein, dann erkennt er auch richtig ob die Tür offen oder geschlossen ist.Und für die Steuerung kannst du einfach wie vorgeschlagen die ADDITIONAL_CONTROLS verwenden.
Könnte dann z.B. so aussehen:
-
@gonzokalle
Hab das gleiche Thema.
Beholfen habe ich mir indem ich die Beschriftung nach oben gesetzt habe (top).Hätte aber auch keine Einwände wenn sich das in Zukunft ändern könnte
-
@ncicewolf mit dem DP hast du recht.
Allerdings passt bei deinem Pic auch was nicht. Geschlossen Icon und geöffnet?
Kann man über den Adapter das Schloss steuern?
Sonst würde über info_a oder b die Statusanzeige genügen.
Im Fall steuern braucht's additional Control: aufsperren und zusperren.
Wenn da auch ein Tür öffnet drinnen ist, würde ich dafür eine eigene Kachel machen. Sonst zuviel rumgeklicke. -
Gut, als Notlösung ist das Okay.
-
@dp20eic Sorry für die späte Rückmeldung, hab jetzt erst zufällig gesehen, dass du geantwortet hattest, kam irgendwie keine Benachrichtigung an...
Also es gibt in den Ring DP leider immer nur den Pfad (Datei Pfad, sowie URL zum letzten Video) zur letzten Aufnahme (Bewegungserkennung). Einen richtigen Livestream gibt es wohl leider nicht. So sehen die DP aus:
Ich habe mal angefangen mit Blockly etwas zu basteln, um die Dateinamen (sehen so aus: livestream91903671_1700315483075.mp4) der heutigen Aufnahmen in DP zu schreiben. Habe das mit Exec
ls /opt/iobroker/iobroker-data/files/ring.0/doorbell_91903671/doorbell_91903671/livestream91903671*.mp4 -Art | tail -n 1
und ner Blockly Liste und Schleife versucht, aber kriege es, als absoluter Anfänger, einfach nicht hin. Bei der Schleife wurde vom Resultat des exec für jeden einzelnen Buchstabe des Dateinamens ein Wert in der Liste erstellt, statt nur für jeden Dateiname. Habs dann nach zwei Stunden rumprobieren aufgegeben und das meiste wieder gelöscht. Es sieht jetzt so aus
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="|,`Py%txCqY%AD5d[??s">id</variable> <variable id="ofwzeJ^]K:=yBVh@24s{">init</variable> <variable id="u}B1QVZf^zYZjW]jEi,T">Zeit</variable> <variable id="s5)@BgzJ_Wx=@=oyfMmv">result</variable> </variables> <block type="procedures_defcustomnoreturn" id="{?_3+V({0^nNKIS#VFjo" x="-562" y="263"> <mutation statements="false"> <arg name="id" varid="|,`Py%txCqY%AD5d[??s"></arg> <arg name="init" varid="ofwzeJ^]K:=yBVh@24s{"></arg> </mutation> <field name="NAME">DP_pfad_setzen</field> <field name="SCRIPT">aWYoZXhpc3RzU3RhdGUoaWQpKSBzZXRTdGF0ZShpZCwgaW5pdCwgdHJ1ZSk7DQplbHNlIGNyZWF0ZVN0YXRlKGlkLCBpbml0LCB7dHlwZTonc3RyaW5nJywgcmVhZDp0cnVlLCB3cml0ZTp0cnVlLCByb2xlOidzdGF0ZSd9KTs=</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="exec" id="Eu=H@X}Kfl%J?PfVmus|" x="-574" y="342"> <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="true"></mutation> <field name="WITH_STATEMENT">TRUE</field> <field name="LOG">log</field> <value name="COMMAND"> <shadow type="text" id="lP1U.!KJk|(.Q1te(#o`"> <field name="TEXT">ls /opt/iobroker/iobroker-data/files/ring.0/doorbell_91903671/doorbell_91903671/livestream91903671*.mp4 -Art | tail -n 1</field> </shadow> </value> <statement name="STATEMENT"> <block type="variables_set" id="^o3|PFMs:1HsbPd3Ay0c"> <field name="VAR" id="u}B1QVZf^zYZjW]jEi,T">Zeit</field> <value name="VALUE"> <block type="text_getSubstring" id="Ej,a9IM}eqJ_4}@[q4[]" inline="false"> <mutation at1="true" at2="true"></mutation> <field name="WHERE1">FROM_START</field> <field name="WHERE2">FROM_START</field> <value name="STRING"> <block type="variables_get" id="no.x~H@yfAdkUg}DTloM"> <field name="VAR" id="s5)@BgzJ_Wx=@=oyfMmv">result</field> </block> </value> <value name="AT1"> <block type="math_arithmetic" id="]ft87(.J.OFy*2oy$1%9"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="x0n|B$*!QZAm|4cw^ca4"> <field name="NUM">1</field> </shadow> <block type="text_indexOf" id="+EoEaE;N8S#GXY-~E*,K"> <field name="END">LAST</field> <value name="VALUE"> <block type="variables_get" id="IC?]*;gtk?3Q+p3z(RP7"> <field name="VAR" id="s5)@BgzJ_Wx=@=oyfMmv">result</field> </block> </value> <value name="FIND"> <shadow type="text" id="I/m]u,QcYEGBC}YA/wRk"> <field name="TEXT">_</field> </shadow> </value> </block> </value> <value name="B"> <shadow type="math_number" id=";89G`%=#,?Ms,t!0LLsK"> <field name="NUM">1</field> </shadow> </value> </block> </value> <value name="AT2"> <block type="math_arithmetic" id="6;l1n8f+^P55|N`kQVt!"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="x0n|B$*!QZAm|4cw^ca4"> <field name="NUM">1</field> </shadow> <block type="text_indexOf" id="BB-i+X14SX.HWh8:)Krz"> <field name="END">LAST</field> <value name="VALUE"> <block type="variables_get" id="P$=bEf#7@=]KHZuJfzt:"> <field name="VAR" id="s5)@BgzJ_Wx=@=oyfMmv">result</field> </block> </value> <value name="FIND"> <shadow type="text" id=";*w[N(!NisuDVKWIzLq-"> <field name="TEXT">.mp4</field> </shadow> </value> </block> </value> <value name="B"> <shadow type="math_number" id="0MV|M*8)tkHra8lssL1I"> <field name="NUM">1</field> </shadow> </value> </block> </value> </block> </value> <next> <block type="procedures_callcustomnoreturn" id="CtJibf`6KfJMqP:=H(:9"> <mutation name="DP_pfad_setzen"> <arg name="id"></arg> <arg name="init"></arg> </mutation> <value name="ARG0"> <block type="convert_from_date" id="lB=8m98#u.d?StIb]s,A"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation> <field name="OPTION">hh:mm</field> <value name="VALUE"> <block type="convert_tonumber" id="o$}=WJkC)y,]zh?GByKw"> <value name="VALUE"> <block type="variables_get" id="@@1;8s=LC|k=.pg,y9ci"> <field name="VAR" id="u}B1QVZf^zYZjW]jEi,T">Zeit</field> </block> </value> </block> </value> </block> </value> <next> <block type="debug" id="SB(10R?Pfj3[=G;|/T%@"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="d[FnP5aZzY/McA*coHVe"> <field name="TEXT">test</field> </shadow> <block type="variables_get" id="XEXG9#kC2S_7F(}HB#[T"> <field name="VAR" id="s5)@BgzJ_Wx=@=oyfMmv">result</field> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </xml>
Aktuell könnte ich also den Dateipfad der letzte Aufnahme abrufen und in einen DP schreiben lassen. Ist ja aber unnötig, da diese letzte Aufnahme ja schon in den Ring DP vorhanden ist.
Am liebsten hätte ich die Möglichkeit gehabt, das Livebild der Ring in iQontrol anzeigen zu lassen, aber aufgrund fehlender Live URL, lässt sich das wohl nicht verwirklichen.
Außerdem hätte ich gerne in iQontrol in einer Liste o.Ä., die heutigen Aufnahmen aufgelistet und evtl sogar anklick- und abspielbar. Ist das überhaupt möglich?Bisher bin ich aber nur so weit gekommen, dass ich immerhin das Video der letzten Aufnahme in iQontrol abspielen kann Das sieht so aus:
2023-11-18_iqontrol_0_devices.json -
@h-a-m-i sagte in Test Adapter iQontrol 2.0.x Vis (Entwicklungs-Thread):
URL zum letzten Video
Moin,
ich besitze kein Ring, aber mit der URL würde ich erst einmal anfangen.
Ich bin mir auch nicht sicher, ob es nicht einen Auslöser gibt, Bewegung erkannt, dann kopiere das Bild an eine Stelle, von der ich es anzeigen kann, also hier müssten die mit Ring weiterhelfenVG
Bernd -
@dp20eic Ok dann warte ich mal, ob noch jemand mit einer Ring cam, dazu was sagen kann.
Aber danke für den Tipp, das video gleich beim Auslösen in einen DP schreiben zu lassen, müsste eigentlich auch gehen. Gibt bestimmt nen Auslöser, muss ich nachher mal gucken.
Ist es denn möglich, wenn ich mehrere DP habe, die den Pfad zu dem jeweiligen Video enthalten, diese klickbar in einer Liste etc in iqontrol zu bringen?