NEWS
Temperatur mit Alexa abfragen
-
Habe mir auch ein Script zusammengestellt, wo ich alle Termostate abfrage. Ein Problem habe ich - 2 von 3 Alexas antworten. Die "Alexa Büro" nicht.
So wie ich das sehe, habe ich alles richtig gemacht. Auf eine andere Abfrage (Türsensoren) reagiert Alexa Büro ohne Probleme.
Habe ich etwas übersehen??
9698_firefox.jpg -
Ich kann keinen Fehler sehen…
-
Ich kann keinen Fehler sehen… `
Ich habe Fehler gefunden. Es lag an erstellten Datenpunkt. Habe "Variablen anlegen" ins Script hinzugefügt und jetzt antworten alle Alexas
-
Danke für deine Hilfe und Geduld dslraser
Also SSML steht mir nun zur Verfügung führe ich das Gerät in der Alexa App manuell aus,
Taucht folgendes im Log auf, es passiert aber nichts.
javascript.0 2019-02-04 09:44:13.662 info script.js.common.Alexa.Aquarium_temp: registered 2 subscriptions and 0 schedules javascript.0 2019-02-04 09:44:13.662 info Start javascript script.js.common.Alexa.Aquarium_temp javascript.0 2019-02-04 09:44:13.640 info Stop script script.js.common.Alexa.Aquarium_temp
Dann passiert ne Minute nichts, Alexa legt dann los mit "Alles klar" und dann spricht Hans, allerdings ohne Temperatur Wert
sonoff.0 2019-02-04 09:46:11.749 info Client [sonoff-basic-abschaeumer] connected with secret 1549269971748_2489 sonoff.0 2019-02-04 09:46:01.205 info Client [sonoff-basic-abschaeumer] connection closed: closed javascript.0 2019-02-04 09:45:20.082 info script.js.common.Alexa.Aquarium_temp: true javascript.0 2019-02-04 09:45:20.082 warn at Object. <anonymous>(script.js.common.Alexa.Aquarium_temp:44:5) javascript.0 2019-02-04 09:45:20.082 warn Wrong type of javascript.0.Eigene_Datenpunkte.01Alexa2Ansagen.Ansagen.01Temperaturansage_Garten: "string". Please fix, while deprecated and will not work in next versions.</anonymous>
Das komische ist wieso verliert der Sonoff Basic mit dem DS18B20 die Verbindung?..
Mein Script sieht jetzt so aus:
![](</s>block.png)`Ich habe Dir vor einigen Tagen eine PN gesendet…Kannst ja mal lesen, die scheinst Du übersehen zu haben. -
Hallo ihr lieben,
ich klinke mich hier mal mit ein.
Um erstmal keinen neuen Thread zu eröffnen.
Meine Frage ist wie kann ich es hinbekommen das Alexa mir eine Frage stellt und ich sie dann mit ja und nein beantworte und sie dann eben eine bestimme Aktion ausführt.
Mir ist klar das es über die History des Alexa2 Adapters läuft wenn ich dort eben ab frage von welche Alexa es kommt und was in der JSON steht. Wenn dort ja dann ausführen.
Das Problem ist bei mir was ich nicht gelöst bekomme wenn ich sie etwas Frage oder ihr etwas sage das sie dann nicht wartet. So lange es eben in einer Routine steckt.
Sonst wenn man ihr sagt "Alexa Licht aus" dann wartet sie ja noch durch den Aufmerksamkeitsmodus ja noch etwas.
Und das wäre eben schön wenn man dass dann für so etwas nutzen kann.Vielleicht habe ich auch etwas übersehen,
MFG
Maggi
-
Hallo und Guten Tag,
ich habe Temperatur Sensoren die ich via mqtt auslese. Und dann den Wert in Objekte habe.Ich habe versucht hier durchzublicken, würde gerne, das mit Alexa auf nachfrage einfach die Temperatur in dem Fall vom Pool ansagt.
Habe kein RedNode laufen.
Was muss ich nun wie machen. Wäre klasse, wenn mir das bitte jemand mal sagen könnte.
cu Deta
-
@dslraser
Kannst du das Blockly vllt hier als Export posten!?
Das wäre sehr nett! -
@deta ich hänge dir mal als Beispiel einen Teil der RAW Angaben meines HomeMatic Aussentemperatursensors an.
Im wesentlichen werden folgende Angaben benötigt:
type = number
unit = °C
role = value.temperature
read = trueMeine SmartName Einstellung lautet "Außenbereich" und ist vom SmartType "THEMOSTAT"
Somit erfolgt meine Abfrage als: "Alexa, wie ist die Temperatur im Außenbereich?"{ "from": "system.adapter.hm-rega.0", "user": "system.user.admin", "ts": 1550316198254, "common": { "name": "Temperatur-Außen.TEMPERATURE", "type": "number", "unit": "°C", "role": "value.temperature", "def": 0, "min": -40, "max": 80, "read": true, "write": false, "smartName": { "de": "Außenbereich", "smartType": "THERMOSTAT" },
-
Ich verstege es nicht, warum es nicht funktioniert.
Ich habe einen Datenpunkt erzeugt, wie hier beschrieben.
Dann habe ich ein Blockly Script wie hier eingebunden erstellt.<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="" id="72I2IFRvo7M]b!+g`fp+">Ausgabetext</variable> <variable type="undefined" id="timeout">timeout</variable> </variables> <block type="on_ext" id="Ac;^b|`@QSn~WL%:8Hxc" x="-588" y="-563"> <mutation items="1"></mutation> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="hD}F{s%j}T;e:l|Y_t5O"> <field name="oid">Eigene_Datenpunkte.Alexa_Sprachsteuerung.Aquarium_Temperatur</field> </shadow> </value> <statement name="STATEMENT"> <block type="variables_set" id="5VFfHYTB!S7A^A*?SicA"> <field name="VAR" id="72I2IFRvo7M]b!+g`fp+" variabletype="">Ausgabetext</field> <value name="VALUE"> <block type="text_join" id="4?k[0reCRn.mjkxHg41~"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text_join" id="ZmQmi(8rSQwnTHmbtjXY"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="75Z)Wn`YF@;38~bIM;pA"> <field name="TEXT">Die Aquarium Wassertemperatur ist,</field> </block> </value> <value name="ADD1"> <block type="get_value" id="Wbs}M!Y#v^O/FCR=ZHbS"> <field name="ATTR">val</field> <field name="OID">sonoff.0.Aqua_Sensoren.DS18B20-1_Temperature</field> </block> </value> </block> </value> <value name="ADD1"> <block type="text" id="gj9|0C4CJF7J/jO@)Qa0"> <field name="TEXT">Grad,</field> </block> </value> </block> </value> <next> <block type="timeouts_settimeout" id="xA_MJ^@=AB=-WtDTe(3}"> <field name="NAME">timeout</field> <field name="DELAY">500</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="comment" id="s30b2{fSQ:a0uC3`+QWU"> <field name="COMMENT">Aquarium</field> <next> <block type="controls_if" id="l(E24=q]l]b,GJDj4dSj"> <value name="IF0"> <block type="logic_compare" id="MKwJn0C!O]xc!~.9|B`*"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="p-SHbJ5Dmwr6djxg2ohH"> <field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field> </block> </value> <value name="B"> <block type="text" id="?}A;8(IyMF%F@(t]Kc~+"> <field name="TEXT">Aquarium</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id=")M^jLcZ!hCpj,X={-`nV"> <mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090LV0371040175.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="p)bNOdcZFVoq1e^M5V-."> <field name="VAR" id="72I2IFRvo7M]b!+g`fp+" variabletype="">Ausgabetext</field> </block> </value> </block> </statement> </block> </next> </block> </statement> <next> <block type="debug" id="rXH);cF5o{s@[/$5}*l7"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="}QU.58yyq1?uvTO[7RV;"> <field name="TEXT">Script wurde ausgelöst</field> </shadow> </value> </block> </next> </block> </next> </block> </statement> </block> </xml>
Dann im Cloud Adapter den Datenpukt als switch verknüpft.
In Alexa eine Routine erstellt mit Echo, wie ist meine Aquarium Temperatur.
Doch wenn ich Echo frege, passiert nichts außer das der Datenpunkt auf true wechselt aber dann auch auf true stehen bleibt. Alexa macht nur beding und mehr nicht.
Wenn ich in speak in meinem Echo in Objekte einen Text eingebe sagt Alexa bzw Echo dann auch den vorgegebenen
Text.
Wo liegt das Problem!? -
@Aphofis ich wiederum verstehe nicht weshalb Du versuchst das ganze über ein Script zu lösen, wenn Du nur den Datenpunkt mit der Temperatur auslesen und ansagen müsstest.
Aber dafür muss der Datenpunkt dann auch als value.temperatur, number, und mit der Einheit "°C´" eingerichtet sein.Dein Datenpunkt "Aquarium Temperatur" ist hingegen eine "Schalter" (switch) und den kann man nun einmal nur schalten.
Im übrigen solltest Du nicht den Cloud-Adapter verwenden, für deine Aufgabenstellung ist der IoT-Adapter gedacht.
Der Cloud-Adapter wird zukünftig im wesentlichen für Fernzugriffe auf ioBroker verwendet werden (Zugriff über die Cloud) -
@BBTown
Das habe ich auch schon versucht! Das hat auch nicht funktioniert!
Ich habe schon alles mögliche probiert über cloud oder iot adapter und beide Iobroker Adpater sind eingerichtet und verknüpft.
Wenn im cloud adapter ein smart Gerät eingerichtet wird ist er auch im iot zusehen und auch anders herum. -
@Aphofis ändere als erstes mal den Datenpunkt mit der Temeperaturangabe entsprechend ab und zeige den RAW anschließend hier, so wie ich es etwas weiter untern gemacht habe.
-
RAM habe ich dann so geändert!
{ "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1560685577673, "common": { "name": "Aqua-Controller.Aquarium.TEMPERATURE", "type": "number", "unit": "°C", "role": "value.temperature", "def": 0, "min": -40, "max": 80, "read": true, "write": true, "smartName": { "de": "Aquarium", "smartType": "THERMOSTAT" } }, "native": {}, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "_id": "Eigene_Datenpunkte.Alexa_Sprachsteuerung.Aquarium_Temperatur_", "type": null }
-
@Aphofis Dann müßte Alexa nunmehr den Datenpunkt "Aquarium" finden und im IoT Adapter sollte dieser auch auftauchen?!
Welchen Skill hast Du in Alexa aktiviert?
ioBroker-IoT oder ioBroker-Cloud?Welcher Wert steht derzeit im Datenpunkt "Aqua-Controller.Aquarium.TEMPERATURE" ?
Was Antwortet Alexa bei der Frage: "Alexa, wie ist die Temperatur im Aquarium"PS
Die min. -40 und max 80 scheinen für ein Aquarium recht ungewöhnlch zu sein -
Im Datenpunkt Wert steht nichts.
Verknüpft sind beide ! cloud sowie iotNaja ich kann auch +10 und +35 nehmen aber da hast du wohl recht!
Nur wenn wir draußen 80 Grad haben sollten dann denke ich ist auch unsere Welt schon dem UNtergang geweiht!
Routine ist, Sprach befehl: Alexa wie ist meine Aquarium Temperatur.
Dazu soll sie dann das Gerät Datenpunkt Aqua-Controller.Aquarium.TEMPERATURE auf true steuern ich hatte jetzt noch nicht den alten datenpunkt gelöscht und neu gesucht. -
komischerweise, ist jetzt der Datenpunkt in iot und cloud verschwunden wenn ich ein smart Gerät erstellen will.
In Iobroker Objekte ist der Datenpunkt noch vorhanden.Mein RAW:
{ "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1560685577673, "common": { "name": "Aqua-Controller.Aquarium.TEMPERATURE", "type": "number", "unit": "°C", "role": "value.temperature", "def": 0, "min": 10, "max": 35, "read": true, "write": true, "smartName": { "de": "Aquarium", "smartType": "THERMOSTAT" } }, "native": {}, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "_id": "Eigene_Datenpunkte.Alexa_Sprachsteuerung.Aquarium_Temperatur_", "type": "number" }
-
@Aphofis sagte in Temperatur mit Alexa abfragen:
Im Datenpunkt Wert steht nichts.
Dann kann Alexa auch keine Temperatur ansagen.
@Aphofis sagte in Temperatur mit Alexa abfragen:
Dazu soll sie dann das Gerät Datenpunkt Aqua-Controller.Aquarium.TEMPERATURE auf true steuern ich hatte jetzt noch nicht den alten datenpunkt gelöscht und neu gesucht.
Nein, der Datenpunkt soll nicht auf TRUE gesteuert werden.
In diesen Datenpunkt gehört die aktuell gemessene Temperatur rein.
Wo sonst steht denn die aktuelle Temperatur, die angesagt werden soll? -
Ne das mir auch klar hab den Type in RAW schon geändert! Da type eine nummern ausgabe ist
Die Temp kommt von einem DS18B20-1_Tepmerature über ESP8266 mit Tasmota Sonoff. -
Ich verstehe noch nicht ganz wie der Wert da rein kommt,
wenn nicht über das Blockly, da in der RAW ja nix steht das die Temp aus dem Sonoff gelesen werden soll. -
@Aphofis ja und weshalb fragst Du dann nicht genau den Datenpunkt ab, wenn der Wert da schon vorhanden ist?
Was soll denn das ganze drumherumgebastel?