Heist im Klartext? Was ist besser ?
Amazon Echo Control Binding
-
Grabber66 -
8. Februar 2019 um 20:06 -
Unerledigt
-
-
persistence. Braucht man auch für 1000 andere Sachen. Wolltest du ja sowieso umsetzen laut deinem anderen thread
-
-
In diesem speziellen Fall finde ich Persistenz unnötig aber das muss jeder für sich selbst entscheiden.
-
ahhhhh jetzt wird’s hell ! Persistence !! DB und Grafana etc pp! Man man wo war ich grad mim Kopp! Ja das will ich definitiv umsetzen ! Aber wenn ich jetzt die db am Start hätte (noch keine Zeit gehabt bisher) was müsst ich dann umbauen? Oder ist alles schon correct mit persistence nur es fehlt eben noch die DB ? Muss mich damit erst noch beschäftigen
-
-
Nix fehlt. Im Grunde müssen nur noch die Gruppen in die persistence Datei.
-
um es vorwegzunehmen...
dein persistence file könnte dann bspw so aussehen:CodeStrategies { everyMinute : "0 * * * * ?" everyhour : "0 0 0/1 1/1 * ? *" } Items { Amazon_Echos*, Lampen*, Heizung, Steckdosen* : strategy = restoreOnStartup, everyChange, everyhour }
bei items trägst du deine gruppen kommagetrennt ein. mit * heisst, es wird der status aller in der gruppe enthaltenen items gespeichert, ohne * heisst es wird der status der gruppe selbst gespeichert.
der rest in der datei sollte selbsterklärend sein. -
-
ok öhm also hab noch keine DB anbindung oder InfluxDB installiert - aktuell sieht die persistance datei so aus :
echo.persist
Tut die nun schon irgendwas (wohl nicht sonst würde es ja schon gehen) oder brauche ich nun zwingend die DB.
-
ohne Datenbank macht die Datei nichts.
-
-
Verstanden - was bedeuten die "Strategies" ?
Hab deine mal übernommen und DB verbindung hergestellt zu meiner MariaDB.
Sonst noch was ?
-
strategie sagt halt in welchem Fall gespeichert wird.
Sonst ist nichts einzustellen.
Nur noch das passende persistence binding installieren, deine Service Datei mit den DB Zugangsdaten befüllen und in paperui Einstellungen angeben welche DB du nutzt.
Neustart...fertig -
-
Also DB Verbindung steht und die Strategie hab ich mal von deinem Post übernommen- nur konnte ich es heute morgen noch nicht testen mal sehen ob es klappt wenn ich von der Arbeit komme
Der Tail Container hat mir hier super geholfen von dem bin ich immer noch begeistert hab sofort gesehen das der Connect steht ohne großes suchen
-
Also DB Verbindung steht und die Strategie hab ich mal von deinem Post übernommen- nur konnte ich es heute morgen noch nicht testen mal sehen ob es klappt wenn ich von der Arbeit komme
wenn du alle sachen korrekt konfiguriert hast benötigt es nur gruppen in der items datei und gruppen im persistence file. der rest passiert quasi von allein....wirklich sehr simpel.
durch persistence ergeben sich dann natürlich noch viel mehr möglichkeiten. du kannst jeden historischen status abfragen und verarbeiten.Der Tail Container hat mir hier super geholfen von dem bin ich immer noch begeistert hab sofort gesehen das der Connect steht ohne großes suchen
ich nutze frontail schon seit es openhabian gibt . ist ein bissl komfortabler als das [definition='1','0']log[/definition] via konsole zu beobachten
ich hab aber gerade einen fehler bei dir entdeckt @xSaSx. der name der persistence datei muss <persistenceservice>.persist sein.
in deinem fall also NICHT wie du es gerade hast echo.persist sondern jdbc.persist
siehe https://www.openhab.org/docs/configura…e-configuration -
-
Die Grupper besteht ja ist ja "Amazon_Echos"
Ok Name der persist hab ich geändert. Wenn das tut will ich auf jeden Fall meine ganzen Heizungen mit auf nehmen damit ich mir das Darstellen lassen kan.
-
ok tut noch nicht - alle Fenster wurden nach reboot nochma betätigt und haben alle einen Status leider steht bei frage ob sie noch offen sind das in der [definition='1','0']log[/definition]:
Code2020-03-02 20:36:58.553 [ERROR] [ntime.internal.engine.RuleEngineImpl] - Rule 'Alexa - Fenster offen': null ==> /logs/events.[definition='1','0']log[/definition] <== 2020-03-02 20:36:58.485 [vent.ItemStateChangedEvent] - Echo_Kitchen_LastVoiceCommand changed from alexa to sind noch fenster offen
-
-
poste doch mal das komplette [definition='1','0']log[/definition], die beteilligten items und die rule. es ist immer nervig wenn man seitenweise zurückblättern muss um zusammenhänge zu erraten.
-
rule:
Code
Alles anzeigenrule "Alexa - Fenster offen" when Member of Amazon_Echos changed to "sind noch fenster offen" then val currentEcho = Amazon_Echos.members.sortBy[lastUpdate].last val OffeneFenster = Fenster.members.filter[ i | i.state == OPEN ].map[ label ].reduce[ s, label | s + ", " + label ] if(Fenster.state == OPEN) { currentEcho.sendCommand("Ja, folgende Fenster sind geöffnet. " + OffeneFenster) } else { currentEcho.sendCommand("Nein alle Fenster sind zu") } end
items:
Code//Gruppen Group Amazon_Echos "Amazon Echos" Group:Contact:OR(OPEN,CLOSED) Fenster "Fenster [MAP(max.map):%s]" <window> String Echo_Kitchen_LastVoiceCommand "Letztes Sprachkommando" (Amazon_Echos) {channel="amazonechocontrol:echo:2117a83a:G090UXXXXXX82:lastVoiceCommand"} String Echo_Kitchen_TTS "Sprachausgabe" {channel="amazonechocontrol:echo:2117a83a:G090UXXXXX32P82:textToSpeech"} String WZ_Echo_Show5_LastVoiceCommand "Letztes Sprachkommando" (Amazon_Echos) {channel="amazonechocontrol:echoshow:2117a83a:G0911XXXXXX08K:lastVoiceCommand"} String WZ_Echo_Show5_TTS "Sprachausgabe" {channel="amazonechocontrol:echoshow:2117a83a:G09XXXXXX008K:textToSpeech"}
persist:
CodeStrategies { everyMinute : "0 * * * * ?" everyhour : "0 0 0/1 1/1 * ? *" } Items { Amazon_Echos* : strategy = restoreOnStartup, everyChange }
[definition='1','0']log[/definition] wenn ich die frage stell:
Code2020-03-02 20:36:58.553 [ERROR] [ntime.internal.engine.RuleEngineImpl] - Rule 'Alexa - Fenster offen': null ==> /logs/events.[definition='1','0']log[/definition] <== 2020-03-02 20:36:58.485 [vent.ItemStateChangedEvent] - Echo_Kitchen_LastVoiceCommand changed from alexa to sind noch fenster offen
-
-
und die fenster?
-
Die Fenster sind in verschiedenen Item Dateien (je nach Hersteller des Sensors) um was gehts dir da dabei ? Dann reich ich es später nach.
Oder meinst du das die Fenstergrupper dann auch in in persist muss =?
Ging ja vor der DB Anbindung genau so
window.map:
fenster sehen alle so aus: -
-
darauf wollte ich hinaus. warum ist in der gruppe dann "Fenster [MAP(max.map):%s]" und nicht auch "Fenster [MAP(window.map):%s]"
-
der inhalt der beiden maps ist gleich - kann eine sofort rausnehmen hab nur ein max fenster contact .
gehts dir im speziellen dann um das:
Code//Gruppen Group Amazon_Echos "Amazon Echos" Group:Contact:OR(OPEN,CLOSED) Fenster "Fenster [MAP(max.map):%s]" <window> String Echo_Kitchen_LastVoiceCommand "Letztes Sprachkommando" (Amazon_Echos) {channel="amazonechocontrol:echo:2117a83a:G090UXXXXXX82:lastVoiceCommand"} String Echo_Kitchen_TTS "Sprachausgabe" {channel="amazonechocontrol:echo:2117a83a:G090UXXXXX32P82:textToSpeech"} String WZ_Echo_Show5_LastVoiceCommand "Letztes Sprachkommando" (Amazon_Echos) {channel="amazonechocontrol:echoshow:2117a83a:G0911XXXXXX08K:lastVoiceCommand"} String WZ_Echo_Show5_TTS "Sprachausgabe" {channel="amazonechocontrol:echoshow:2117a83a:G09XXXXXX008K:textToSpeech"} persist:
weil dann änder ich alles auf windows.map anstatt max.map aber wie gesagt der Inhalt der beiden maps ist gleich
-
-
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!