Info 4.072 Beta und CentralSceneEvent

Yeeeeesss!!
Die Freude ist groß, aber Hallo erstmal.
Seit der 4.072 Beta funktioniert der CentralSceneEvent als Trigger. Warum mich das so freut? Weil jetzt endlich das ganze Zeug funktioniert, das schon ewig als toter teurer Elektronikschrott hier rumliegt.
-Popp KeyFob
Mag sein das andere KeyFobs schon gut funktioniert haben, der hier war um keinen Preis zur Mitarbeit zu bewegen. Jetzt aber schon.
-Popp WallC
Wie oben.
-NodOn Octane
Auch da muss man trotz Ankündigung immer noch die Parameter selbst anlegen, aber anschließend funktioniert auch das fehlerfrei.

Gruß Carsten

Das funktioniert bereits mit der 4.070 stable. :wink:

Kommt bald ein Artikel zu.

Gruß

Na dann bin ich so spät drauf gekommen weil überall alte Anleitungen kursieren wo man die Parameter unbedingt auf die alte Szenensteuerung setzen muss + umständliche Scripte dazu. Es wird also höchste Zeit mit dem Artikel.

Gruss Carsten

Haha, zu früh gefreut. Mit der NodOn Octane geht es. Sobald ich aber versuche irgendeines dieser Popp Geräte zu inkludieren geht sofort nach dem inkludieren die Octane nicht mehr. Ich habe das jetzt 3x probiert und jedesmal die Octane nur mit wieder einspielen des Backups zum Laufen bekommen.
Ideen oder Ratschläge?

Gruß Carsten

Hi Boomx,
Artikel wäre wirklich toll, habe schon wie wild im Forum und auf Facebook diskutiert, um meinen DevoloSchalter zur Scenenaktivierung zu kriegen…

LG TT

Ein Artikel wurde zu dem Thema bereits veröffentlicht. Da steht alles drin:

http://www.siio.de/connected-home/philip-smart-color-button-im-hands-on/

Hi Boomx,

den habe ich natürlich gelesen, habe ihn nicht direkt auf CentralScene bezogen, tue mich wie so oft etwas schwer, das umzusetzen.
Hier meine bisherigen Versuche:
http://www.siio.de/board/thema/funkschalter-fernbenienung-von-devolo/#post-31664

Hier das Lua, das leider nicht läuft: (debug: check 0 nil value)
Wie frage ich den Sourcetrigger ab?

--[[
%% properties
322 CentralSceneEvent 1
%% globals
--]]
local tasterID = 322
local check = (fibaro:getValue(tasterID, "CentralSceneEvent"));
print('es wurde gedrückt: '..check)

if (check == "21")
 then
	fibaro:setGlobal("PresentState", "Away");
  fibaro:startScene(25)
  fibaro:debug("PresentState auf Away");
end       
  
if (check == "22")
then
	fibaro:setGlobal("PresentState", "Home");
  fibaro:call(37, "turnOn");
   fibaro:sleep(1000); 
  fibaro:call(37, "turnOff");
   fibaro:debug("PresentState auf Home");
  
end

Wäre super, wenn Du mir helfen könntest!
Danke TT

Hi,

scheint so, als ob du den Artikel nicht richtig gelesen hast :wink: Bei centralScene kommt keine ID sondern ein json-Response zurück. Von daher kannst du mit den IDs nichts anfangen.

Füge mal folgende Szene ein und schau dir den Debug an. Dann kannst du mit der Szene im Artikel den Rest selbst coden:

--[[
%% properties
%% events
322 CentralSceneEvent
%% globals
--]]

local startSource = fibaro:getSourceTrigger();
action = json.encode(startSource)
fibaro:debug(action)

Gruß

Guten Morgen,

vielen Dank! Hatte in der Tat gedacht, der json-Aufruf wäre ein Special des Philio-Knopfes.

Wenn ich Dein Script teste kommt bei einer normalen Einbindung (non-secure, Parameter 1+2=0, 11-14=4, alle Asooz. auf HC2) nur Debug: type:other. Und das nur 1x, egal wie oft ich welche der 4 Tasten drücke.
Gleiche Einstellung, aber secure eingebunden, siehe meine anderen Posts (wird über SceneActivation erkannt, aber leider nur Taste 2) passiert im diesem Script nichts.

Wäre super, wenn Du noch eine Idee hast!

Danke & Gruß TT

Hi,

poste doch mal den gesamten Debug, welcher dir ausgegeben wird. Wir haben einen solchen Taster nicht im Einsatz und können es deshalb nicht testen.

Gruß

Hi,

habe einen Moment gebraucht und mir zu dem Devolo noch einen Popp Schalter besorgt, da es ja einige hier im Forum damit hingekriegt haben.
Leider kein Unterschied, siehe meine anderen Posts zu dem Thema (Link oben).

Habe also Dein Script 1:1 übernommen (die id des Triggers natürlich angepaßt…)
Leider ohne Erfolg. Parameter 11-14 mit 4 (Szene) oder 8 (CentralScene): kein Unterschied.Jedesmal nur wenn ich Start Drücke: type:other, selber startet er die Scene nicht (s.Anhang)
Frage ich die Schalter über SceneActivation ab, kommt auch nur nach Drücken auf Start value:nil.
Es ist als ob die nix senden. Wenn ich die Konfiguration über die API abfrage, sagt er dort, dass beide Schalter Sceneactivation und centralsceneactivation unterstützen.
Anhang 1 und 2 sind jeweils mit unterschiedlichen Parametern (s.o.) und Asooziationen (Gruppe 1, alle, alle Gruppen, außer Gruppe 1 auf HC2) gleich.
Wäre super, wenn Du noch eine Idee hättest.
Vielen Dank, auch für Deine anderen Beiträge. Du kennst Dich wirklich super aus und es macht ja auch viel Spaß, wenn so langsam die Dinge ans Laufen kommen.
LG TT

Bildschirmfoto-2016-04-21-um-20.12.24.png

Bildschirmfoto-2016-04-21-um-20.17.47.png

Hi,

vertausche mal in der ersten Szene Zeile 3 und 4 im Header (also die “events”-Zeile nach der Zeile mit dem Modul).
Zumindest hast das im Fibaro-Forum die Szene wieder getriggert.
In der zweiten Szene kommt die “events”-Zeile demnach “richtig”.

VG Hoggle

Hi Jungs,

CentralSceneEvent funktioniert mit jedem Schalter, alle Probleme scheinen gelöst…
Normal eingebunden, CentralScene aktiviert (bei Devolo und Wall-C Parameter 11-13 auf 8!) Die Zahl hinter dem Trigger ist die Nummer der Taste.
Kein json nötig.

--[[
%% properties
%% events
342 CentralSceneEvent 2
342 CentralSceneEvent 4
%% globals
--]]

local startSource = fibaro:getSourceTrigger();
if (
 ( true  or  true )
or
startSource["type"] == "other"
)
then
	local deviceValue1 = tonumber(fibaro:getValue(8, "value"));
	if (deviceValue1 > 0) then
		fibaro:call(8, "turnOff");
	else
		fibaro:call(8, "turnOn");
	end
end

usw…
Ob man jetzt Licht schaltet, Szenen auslöst oder… bleibt einem selbst überlassen.
Danke an Euch alle für die Hilfe, jeder hatte ein bisschen recht und alles zusammen klappt dann.

LG TT

Ok, zu früh gefreut, geht wirklich nur mit nem Toggle. Triggert die Szene immerhin bei beiden Tasten :wink: und schaltet dann auf was anderes, aber die Werte lassen sich nicht verarbeiten. (siehe Post von pblacky). wenn ich den Source-Trigger auslesen will bekomme ich einen Table mit immer anderen Werten, jedesmal neu, wenn ich die Taste drücke. Shit!

Lieber Daniel Boomx, wenn ich Deine Philio Szene nehme: wie bekomme ich die Werte für andere devices?
Ich meine die Zeile:
local action_press = action:match('Pressed')
Ist Pressed der Wert für Philio? Wie kann ich herausbekommen, was ich da einsetzen muss? Finde leider auch bei Dr.Google keine Erklärung, die ich verstehe.

Bin aber glücklich, dass das Triggern über CentralSceneEvent klappt, hatte ich bisher nie hinbekommen.
LG TT

Hi,

poste doch mal hier deine Werte, welche die json-Response zurückgibt.

Dies kannst du mit folgendem Code (IDs im Header anpassen) machen:

--[[
%% properties
%% events
231 CentralSceneEvent
%% globals
--]]

local startSource = fibaro:getSourceTrigger();
action = json.encode(startSource)
fibaro:debug(action)

Dann könnte man weiter schauen.

Gruß

Hi,
vielen Dank für die schnelle Antwort! Genau das hatte ich auch schon versucht, die Antwort ist für jede Taste “type: other” (s.Anhang).
Auch wenn ich nur eine Taste abfrage, also eine Zahl hinter den Trigger setze, ändert das nichts.
Natürlich kann ich so immerhin für jede Taste ein Script schreiben, aber nun möchte ich das auch etwas eleganter machen und vor allem verstehen, was ich tue…

Vllt liegt das ja aber auch am Devolo/Popp Schalter, obwohl beide ja lt. API/device CentralSceneEvent unterstützen.

THX
LG TT

Bildschirmfoto-2016-04-29-um-06.03.12.png

Hi Boomx,

noch eine Idee?
LG TT

Hi,

leider nein. Hab leider so ein Modul nicht im Einsatz und kann es deshalb leider nicht testen :frowning:

Gruß

Ah!
Nun ist es mir gelungen, zumindest dem Popp Schalter etwas zu entlocken! Große Wippe, daher immer nur Taste 1 oder 3.
[DEBUG] 19:47:13: {“type”:“event”,“event”:{“type”:“CentralSceneEvent”,“data”:{“keyId”:1,“deviceId”:336,“keyAttribute”:“Pressed”,“icon”:{}}}}
[DEBUG] 19:47:15: {“event”:{“data”:{“keyAttribute”:“Pressed”,“deviceId”:336,“icon”:{},“keyId”:3},“type”:“CentralSceneEvent”},“type”:“event”}
[DEBUG] 19:47:17: {“type”:“event”,“event”:{“data”:{“keyId”:1,“deviceId”:336,“keyAttribute”:“Pressed”,“icon”:{}},“type”:“CentralSceneEvent”}}
[DEBUG] 19:47:18: {“type”:“event”,“event”:{“data”:{“keyId”:3,“deviceId”:336,“icon”:{},“keyAttribute”:“Pressed”},“type”:“CentralSceneEvent”}}
[DEBUG] 19:47:19: {“event”:{“type”:“CentralSceneEvent”,“data”:{“keyAttribute”:“Pressed”,“deviceId”:336,“icon”:{},“keyId”:1}},“type”:“event”}

Öhhh, wenn ich jetzt an Dein Philio Button Script denke: da nimmst Du den ges. Inhalt in die Variable “action” und prüfst, ob da was drin steht, oder?
Wenn ich den zerlegen will, also die einzelnen items weiterverwenden?
Kann ich z.B. auch nur die key-id auslesen und dann in LUA weiterverarbeiten?
Also if key id=1 starte Szene A, if key id = 2 starte Szene B?

--[[
%% properties
%% events
336 CentralSceneEvent
%% globals
--]]

local startSource = fibaro:getSourceTrigger();
action = json.encode(startSource)
fibaro:debug(action)

local Key1 = action:match('keyId:1')
local Key3 = action:match('keyId:3')

if Key1 == 1 then
  fibaro:debug('Key1 wurde gedrückt');
end  
if Key3 == 1 then
  fibaro:debug('Key3 gedrückt')
end

…diese Idee funktioniert leider nicht, kein Output für den 2.Teil…
LG TT

Versuch es mal so:

--[[
%% properties
%% events
336 CentralSceneEvent
%% globals
--]]

local startSource = fibaro:getSourceTrigger();
action = json.encode(startSource)
fibaro:debug(action)

local Key1 = action:match('"keyId":1')
local Key3 = action:match('"keyId":3')

if Key1 == 1 then
  fibaro:debug('Key1 wurde gedrückt');
elseif Key3 == 1 then
  fibaro:debug('Key3 gedrückt')
end