NEWS
Test Adapter bshb (Bosch Smart Home) v0.0.x
-
@Scotty89
Gerade mit dem Fake Hue ausprobiert. Das geht. Aber port 80 und port 443 werden benötigt. Auf port 80 müsste nur für die url /api/config passender Inhalt zurückgeben werden. Anschließend wechselt der Bosch Controller auf port 443. Dort muss dann "alles" andere zur Verfügung stehen. Keine Ahnung ob das für dich eine Option ist.Der Emulator muss aber schon recht speziell sein, sonst lehnt der Bosch Controller diesen ab.
-
Hallo zusammen,
hat wahrscheinlich nichts mit dem Adapter von iobroker zu tun. aber wer weis das schon.
ich habe von Bosch einen smarten Lichtschalter. funktionierte bisher einwandfrei.
sowohl über alexa wie auch über iobroker.
plötzlich heist es bei alexa - gerät reagiert nicht. (der Strom ist aus ????)
über Bosch und iobroker geht alles wie gewohnt.
woran könnte das liegen?
vielen dank.
Gruß -
@pendragon2
Hi ist bei mir auch so. Ich weiß nicht genau seit wann. Der Adapter verwendet die gleiche Schnittstelle wie auch die App. Von daher habe ich dahingehend gar nicht geschaut. Ich vermute ich müsste alles entfernen und neu verbinden. War bisher jedoch zu faul... -
hhhhmmm und plötzlich geht es wieder.
habe aber nichts gemacht.
gruß -
@holomekc kann es sein, dass der Adapter den Objekten immer wieder Funktionen und Räume zuweist?
Ich hatte diese bereits 2x angepasst und nun sah ich, dass wieder überall Räume und Funktionen zugewiesen wurden. -
@BigTom91
Hi. Ja da hast du recht. Das ist aktuell in der Tat noch so. Ich schaue mal, ob ich dafür eine passende Lösung finde. Mein erster Gedanke wäre das nur zu machen, wenn das Objekt noch nicht existiert. -
@holomekc
Nur für neue/noch nicht existierende Objekte finde ich gut. Evtl. kann man dies ebenfalls noch als Einstellung in den Adapteroptionen mit übernehmen? -
@BigTom91
Im GitHub liegt 1.5.0 wenn du magst kannst du es damit schon einmal testen:
https://github.com/holomekc/ioBroker.bshbAktuell ist es noch ohne Einstellung. Vielleicht reicht es so?
-
@holomekc Vielen Dank für die schnelle Umsetzung.
Ich werde es mir anschauen, sobald ich es installieren kann.Ein großes Problem war, dass ich zum Beispiel einen Raum "Bad" hatte, und der Adapter allerdings immer "bad" hinzugefügt hatte und somit "zwei" pro Gerät zugewiesen waren.
-
Moin @holomekc
wäre es möglich die API Abfrage "{{shc_api}}/doors-windows/openwindows" mit aufzunehmen?
Laut eines Entwicklers ist die Funktion nun vorhanden zu prüfen ob ein Fenster offen ist.
-
@JB1985
Hi. Ich kann bestätigen das es geht. Versuche ich zeitnah umzusetzen. -
@JB1985
Hi. Sorry. Eine Frage noch. Ich war kurz am überlegen was ich mit den Infos mache. Aber was ist der Vorteil gegenüber den einzelnen Werten bei den Geräten?Geht es darum, dass man direkt alle Werte erhält? Bei mir sieht das bspw. so aus:
{
"allDoors": [],
"openDoors": [],
"unknownDoors": [],
"allWindows": [
{
"name": "Fensterkontakt",
"roomName": "Schlafzimmer"
}
],
"openWindows": [],
"unknownWindows": [],
"allOthers": [
{
"name": "Eingangstür",
"roomName": "Flur"
},
{
"name": "Fenster",
"roomName": "Wohnzimmer"
}
],
"openOthers": [
{
"name": "Fenster",
"roomName": "Wohnzimmer"
}
],
"unknownOthers": []
}Wie sollte das im Adapter aussehen? Ein state der exakt das zurück gibt was oben zu sehen ist?
-
@holomekc Ich mache das momentan ja über ein anderes Script. Siehe relativ weit oben.
Schön wäre es, wenn man die Anzahl der geöffnet Fenster/Türen raus bekommt sowie welche Fenster/Türe offen sind.
-
@JB1985
So?
Oder ist das schon zu übertrieben?
- 0_raw
Das sind die reinen Daten die ich vorhin schon mal erwähnt habe. Die 0 habe ich dort nur eingefügt, damit das ganze ganz oben einsortiert wird. - all*
Alle Gruppen die oben bereits erwähnt wurden sind hier zusammengefasst. Also doors, windows und others
Ich überlege noch, ob ich das nicht gruppiere (dann könnte ich vielleicht auch das 0_ wegnehmen):
openDoorsAndWindows |- all |- all |- allCount |- allOpen |- allOpenCound |- allUnknown |- allUnknownCount |- doors |- doorsAll |- doorsAllCount |- doorsOpen |- doorsOpenCound |- doorsUnknown |- doorsUnknownCount |- others |- othersAll |- othersAllCount |- othersOpen |- othersOpenCound |- othersUnknown |- othersUnknownCount |- windows |- windowsAll |- windowsAllCount |- windowsOpen |- windowsOpenCound |- windowsUnknown |- windowsUnknownCount |- raw
Viele Grüße
Christopher - 0_raw
-
@holomekc finde ich super umgesetzt!
-
In der Bosch App wird mir bei einem Thermostat angezeigt ich soll die Battereien wechseln.
Ist diese Info auch im Adapter hinterlegt? Ich kann nichts finden. -
@stenmic
Hi. Beim Thermostat müsste BatteryLevel sein und dort dann "faults". Das ist eine Liste von Objekten. Bspw.:{ "type":"LOW_BATTERY", "category":"WARNING" }
Ich weiß nicht genau welche Werte es alles gibt.
-
Version 0.1.6 ist in GitHub:
https://github.com/holomekc/ioBroker.bshb- Offene Türen / Fenster Feature hinzugefügt
-
@holomekc
bei mir sieht es so ausDas Thermostat welches leer anzeigt ist in der Küche.
Wie kann ich [object Object] in einem Blockly oder in vis auswerten?
Eine Liste wird mir nicht angezeigt.
Gruß -
@stenmic
So müsste das gehen. Die debug Ausgabe einfach mit dem ersetzen was du machen möchtest.Gibt es eine Art Export-Funktion für Blockly? Habe jetzt nur ein Bild angehängt.
Edit: Hier der Code. Danke @BigTom91
<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="" id="TC17y~Bap=Mh]2X9@+AU">i</variable> <variable type="" id="WOc#:AXA!]^aHBHvdO`F">value</variable> </variables> <block type="on_ext" id="~Fhy=aEjfMss)[[{26.$" x="-13" y="13"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="%C-WnuL/4k{pCBNjt+f0"> <field name="oid">bshb.0.hdm:HomeMaticIP:3014F711A0000055385A3086.BatteryLevel.faults</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="[{=tDm#$n?XHp{yw~Nsu"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_null" id="(kZ;%]NWf9O56DOe^WfE"></block> </value> <statement name="ELSE"> <block type="controls_forEach" id="NX|GK?ic#Qwa$Wy;y7l}"> <field name="VAR" id="TC17y~Bap=Mh]2X9@+AU" variabletype="">i</field> <value name="LIST"> <block type="variables_get" id="LmNhutHPi.d6hO!dF5m?"> <field name="VAR" id="WOc#:AXA!]^aHBHvdO`F" variabletype="">value</field> </block> </value> <statement name="DO"> <block type="controls_if" id="{~Ib{bo=5%;Iz0ta*5,%"> <value name="IF0"> <block type="logic_compare" id="4V*MB6VJ]B)X.jSejFo["> <field name="OP">EQ</field> <value name="A"> <block type="get_attr" id="HC#*QCTh+o43iMbyb%e9"> <value name="PATH"> <shadow type="text" id="M_=3AWle0*%J;`w:EXOR"> <field name="TEXT">type</field> </shadow> </value> <value name="OBJECT"> <block type="variables_get" id="0gO6k6n/Pd89s5hVaR1p"> <field name="VAR" id="TC17y~Bap=Mh]2X9@+AU" variabletype="">i</field> </block> </value> </block> </value> <value name="B"> <block type="text" id=")i|.K_`dvpct!d;E3vO;"> <field name="TEXT">LOW_BATTERY</field> </block> </value> </block> </value> <statement name="DO0"> <block type="debug" id="At)^=VxGO%)7y8s8FMgZ"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="Y9*5a@)a4M=r,_(D(dKR"> <field name="TEXT">Mache was du möchtest</field> </shadow> </value> </block> </statement> </block> </statement> </block> </statement> </block> </statement> </block> </xml>
Edit2: Ich bin mir nicht sicher, ob ich das richtig aufgebaut habe. Ist das erste mal das ich Blockly verwende. Aber ich hoffe die Idee ist klar. Mir ist unklar wie der Wert vom Objekt in die Variable value kommt und ob die "null" Prüfung überhaupt funktioniert. Sollte aber auch nicht vorkommen default ist immer eine leere Liste [].