NEWS
Hilfe gesucht bei Werteänderung ohne Ausführung :)
-
Der Titel ist sicherlich nicht wirklich gut gewählt, jedoch weiß ich nicht wie ich es sonst nennen soll.
Ich habe hier das LICHT AN Script auf meine Rollläden angepasst. Da Alexa runter und hoch nicht so 100% kapiert, brauch ich mal hilfe
Alexa macht bei rollladen runter ja bekanntermaßen Wert 75. Soweit so gut. Ich nehme einfach in eine if abfrage die 75 und mache daraus ein setstate mit wert 0.
Damit fahren alle Rollläden auch brav runter. Jedoch ist es so, daß alexa beim erneuten RUNTER eben diese 75 nimmt und 100 daraus macht, solange der Wert des Triggers nicht schon 100 ist.
Ich müsste nun nurnoch hinbekommen, den Wert des Triggers auf 100 zu setzten ohne das sofort wieder ein Kommando ausgeführt wird..
GEHT das überhaupt ?
Anbei mal das umgebastelte Script von einem der User hier ( FETTTTTTTTTTTEN DANK dafür )
! //–----------------------------------------------------------------------------
! // Rollladen
! //------------------------------------------------------------------------------
! // Dieses Script ermöglicht es für Sprachbefehle (wie "Licht an!") zu ermitteln,
! // welches Echo-Gerät angesprochen wurde, und dann nur die Smart Home Geräte
! // (z.B. Lampen) zu aktivieren, die im Script für dieses Echo-Gerät hinterlegt
! // sind. Eine Angabe des Raumes (wie "Licht an im Wohnzimmer!") ist mit dem
! // Script nicht mehr notwendig.
! //
! // Skript arbeitet unabhängig vom Cloud Adapter.
! //
! // Version: v0.5
! // Feedback: http://forum.iobroker.net/viewtopic.php?f=37&t=9115
! //------------------------------------------------------------------------------
! // Changelog:
! // v0.5: Unterstützung von Switch-States (true/false)
! // v0.4: Automatisches Anlegen des Smart-Gerät im Cloud Adapter
! // v0.3: Einsatz des require modules
! // v0.2: Nutze Datenpunkt von AlexaLogOn-Script für Cookie
! // v0.1: initialer Release
! //------------------------------------------------------------------------------
! // Einrichtung:
! // 1. Starte AlexaLogOn-Script, um LogOn-Cookie zu erhalten.
! //
! // http://forum.iobroker.net/viewtopic.php?f=37&t=9237
! //
! var cookie = getState('productive.alexalogon.cookie').val;
! cookie = cookie.replace(/\/g, "");
! // 2. Mapping-Tabelle konfigurieren
! //
! // Mapping-Tabelle der Echo-Geräte zu den Smart Home Geräten (z.B. Lampen).
! // Die SerialNr der Echo-Geräte sind in der Alexa-App unter
! // Settings->[Echo-Gerät]->Serial Number (vorletzter Eintrag)
! // zu finden.
! //
! // Die Object-IDs in der Aufzählung "deviceIDs" kommen aus ioBroker und können
! // direkt aus dem Objects-Reiter kopiert werden.
! //
! // Es können mehrere Smart Home Geräte jedem Echo zugeordnet werden. In der
! // Aufzählung "deviceIDs" mit Komma trennen.
! var mappingTable = [XXLogischerweisenNIXhier];
! // 3. Datenpunkt konfigurieren (optional)
! var forecreation = false;
! // Wenn gewünscht, Pfad und Name nach eigenen Vorstellungen anpassen.
! var idAlexaTrigger = 'productive.rollladen.alexa_trigger';
! // Wenn gewünscht, Name und desc für den Datenpunkt anpassen.
! // Außerdem kann der Smart Name im CloudAdapter angepasst werden.
! createState(idAlexaTrigger, 0, forecreation, {
! name: 'Trigger für Alexa',
! desc: 'Trigger mit Level für Alexa',
! type: 'number',
! unit: '',
! role: 'value',
! smartName: {
! de: 'Rollladen',
! en: 'blind'
! }
! });
! // 4. Logging konfigurieren (optional)
! //
! // true schreibt in den Log, was das Script macht.
! var logOn = true;
! // Ende der Einrichtung.
! // Nachfolgend der eigentliche Source Code des Scripts.
! //–----------------------------------------------------------------------------
! //------------------------------------------------------------------------------
! // Global Variables
! var request = require('request');
! //------------------------------------------------------------------------------
! // Funktionen
! function main() {{
! var options = {
! url : "https://layla.amazon.de/api/activities? ... 1&offset=1",
! method : "GET",
! headers : {
! 'User-Agent' : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36',
! 'Content-Type': 'text/plain',
! 'Accept-Language': 'de,en',
! 'DNT' : '1',
! 'Connection': 'keep-alive',
! 'Upgrade-Insecure-Requests' : '1',
! 'Referer' : 'https://layla.amazon.de/spa/index.html/',
! 'Cookie' : cookie
! }
! };
! request.get(options, function(err, res, body){
! // durchsuche Mapping-Table und schalte die verknüpften Geräte
! for (var i = 0; i < mappingTable.length; i++ ) {
! if (body.indexOf(mappingTable__.deviceSerialNr) != -1 ) {
! for (var j = 0; j < mappingTable__.deviceIDs.length; j++) {
! if(logOn) log("Set new value for device " + mappingTable__.deviceIDs[j]);
! var oldValue = "100";
! if(logOn) log("Old Value: " + oldValue);
! var newValue = "" + getState("javascript."+instance+"."+idAlexaTrigger).val;
! if(logOn) log("New Value: " + newValue);
! if (newValue === '75') {
! setState(mappingTable__.deviceIDs[j], 0);
! } else {
! setState(mappingTable__.deviceIDs[j], getState("javascript."+instance+"."+idAlexaTrigger));
! }
! }
! }
! }
! });
! }
! }
! // Subscriptions
! // –---------------------------------------------------------------------------
! on({id: "javascript."+instance+"."+idAlexaTrigger ,change:'any'}, function (obj) {
! if(logOn) log("Alexa Trigger changed: " + obj.state.val);
! main();
! });__________ ________Guten Rutsch !erti________
-
kannst du den Code in Code Tag reinschreiben.. dann ist es lesbarer