FGBS-222 mit LUA auslesen / steuern VD

Hallo Zusammen

habe mal wieder eine Frage für die LUA Spezis. Ich habe mir einen Ethanol Kamin zugelegt, welcher über via Steuergerät mit potentialfreien Eingängen (z.B. Ein, Aus, Flamme +, Flamme -) und Ausgängen (Signalisation Betrieb, Ausgeschaltet, Alarm, Brennstoff knapp, …) gesteuert resp. angefragt werden kann. Ich habe mir nun 2 Smart Implants zugelegt, welche ich via einer VD ansteuern möchte.

Kann mir einer sagen wie ich die Eingänge der Implants (input1 und input1) via LUA abfragen kann? Wenn ich das mit fibaro:getValue(466, ‚input1‘) mache bekomme ich als Antwort die Konfiguration des input1 Ports, also z.B. binarySensorNO und nicht dessen Staus also z.B. 0 oder 1. Für die Ausgänge habe ich ja die zwei Schalter die angezeigt werden, oder gibt es hier auch eine Lösung die Ausgänge direkt über das Modul (466) zu setzen? Also etwa fibaro:setValue(466, ‚??‘, on)?

Danke für eure Hilfe

Hallo

Bei dem Smart Implant werden ein Master und mehrere Slaves beim Initialisieren erzeugt.
Diese haben eigene ID´s und du kannst diese dann abfragen.
Schau hier :


Das alles ist ein SmartImplant.
Master ist der ID626
In1 ist ID633
In2 ist ID634
Schau mal das müsste bei dir am HC3 auch so sein.
Je nach dem wie und was du noch angeschlossen hat wie z.B Thermosensoren usw. könnte es etwas anders aussehen.
Abfragen beim Trigger so :
image
Also wie ein Normaler Eingang auch.
Versuche das mal so.

Grüße aus dem Sauerland
Frank

Hi Frank

Danke für die Meldung. Ganz so leicht wars dann nicht, ich habe mich mal durchgegoogelt und gewurstelt. Am meisten hat mir dabei die Anzeige aller registrierter Devices auf dem HC2 geholfen. Einfach im Browser xxx.xxx.xxx.xxx/api/devices (wobei xxx.x… die IP Adresse des HC2 ist), dann bekommst du eine Liste aller Devices mit ID Nummer. Hier kann man nach dem Implant suchen und findet dann auch die IDs der Sub Devices, also Ausgänge, Eingänge und interner Temp. Sensor. Interessanter weise entsprechen die im HC2 nach dem anlernen angezeigten IDS NICHT den effektiven IDS, was die Probleme beim Abfragen natürlich erklärt :wink: Es werden neben der eigentlichen Implant ID zusätzlich 9 weitere Devices generiert, ein Implant bekommt somit 10 Device IDs. In meine Fall sieht dies wie folgt aus:
Die erste Zahl, zwischen den ¦¦ ist die eigentliche ID welche z.B. in LUA verwendet werden. Die zweite Zahl ist die ID welche ursprünglich angezeigt wurde, dann folgt die Bezeichnung welche ich in meiner Umgebung vergeben habe, der hinterlegte Typ der Device und anschliessend noch eine Erklärung um was es geht.

|489|489|1002_Liv_SI_FP2|Implant|||-- 489 ; Smart Implant Base|
|490|„488.0.1“|„488.0.1“|com.fibaro.temperatureSensor|||-- 490 ; Int. Temp|
|491|„488.0.2“|„488.0.2“|com.fibaro.remoteController|||-- 491 ; Remote Controller|
|492|„488.1“|„488.1“|com.fibaro.binarySensor|||-- 492 ; Input1|
|493|„488.2“|„488.2“|com.fibaro.binarySensor|||-- 493 ; Input2|
|494|„488.3“|„488.3“|com.fibaro.multilevelSensor|||-- 494 ; Analog1|
|495|„488.4“|„488.4“|com.fibaro.multilevelSensor|||-- 495 ; Analog2|
|496|„488.5“|„1002_Liv_FP_Down“|com.fibaro.binarySwitch|||-- 496 ; Ausgang1|
|497|„488.6“|„1002_Liv_FP_Up“|com.fibaro.binarySwitch|||-- 497 ; Ausgang2|
|498|„488.7“|„488.7“|com.fibaro.multilevelSensor|||-- 498 ; Int. Temp|

Derzeit bin ich nun daran eine virtuelle Device zu erstellen, was leider auch seine Tücken hat. Na ja, wenigstens kann ich meinen Kamin zwischenzeitlich bereits starten und stoppen.

Gruss
Reto

Hallo Reto

Das ist beim HC3 etwas einfacher, da hat man etwas mehr Möglichkeiten.
Ich komme vom „homee“ und habe direkt zum HC3 gewechselt und das schon direkt nach dessen Erscheinen.
Somit kenne ich den HCL und den HC2 nicht.
Sorry das ich dir nicht mehr helfen kann.
Na ja wenigstens hattest du einen Anhaltspunkt und wusstest wo du suchen musst.
Ohne Hilfe von „Leidensgenossen“ kommt man bei den Systemen wie auch beim „homee“ nicht weiter.
So lange die nicht Selbsterklärend sind und man die auch noch „Umständlich“ programmieren muss, so lange ist das nichts für die Mehrheit.
Ich habe einen Elektrotechnik und Softwahre Vergangenheit und ohne die währe ich wie so viele aufgeschmissen.
Ich bastel viel und Programmiere mir was fehlt, oder kopiere mir Sachen von andern und passe die meinen Bedürfnissen an.
Also melde dich wenn du Hardwahre oder Softwahre Probleme hast, so lange ich helfen kann mache ich das gerne bin halt Rentner.
Gruß Frank

Hallo @Berges01,
Ich spiel mich gerade mit dem FGBS-222 um den Statis der 2 Eingänge abzufragen.
Habe bei einem Umschalte Relais auf den Wurzelkontakt den GND (blau) und die beiden IN1 (grün) und IN2 (gelb) auf die jeweiligen Umschaltekontakte des Relais verbunden.
Nun will ich wenn das Relais umschaltet die Values der Kontakte abfragen. Geht das ???

DIe Trigger:

{
  conditions = { {
      id = 119,
      isTrigger = true,
      operator = "==",
      property = "state",
      type = "device",
      value = true
     }, {
  id = 120,
      isTrigger = true,
      operator = "==",
      property = "state",
      type = "device",
      value = true
} },
 operator = "any"
}

lösen derzeit noch nicht aus und beim Abfragen der Values mit:

local In1 = 119 -- ID des IN1
local In2 = 120 -- ID des IN2
local Wert1 = fibaro.getValue(In1, "value")
local Wert2 = fibaro.getValue(In2, "value")

print ("In1: "..In1.." hat Wert: "..Wert1.." ")
print ("In2: "..In2.." hat Wert: "..Wert2.." ")

Bekomm ich einen Fehler:

[12.01.2021] [21:01:03] [ERROR] [SCENE30]: (load):6: attempt to concatenate a boolean value (local 'Wert1')

Hast du dazu eventuell einen Tipp für mich?
Oder noch besser eventuell ein Beispielscript von deiner FritzBox Lösung??

Die Eingänge sind reine Boolen Werte können also True oder False annehmen.
Frage mal auf if ab und else und weise dann zu dann kommst du weiter !
Hier meine Szene Telefonklingel.

Declaration !
-------------------
{
  conditions = { {
      id = 515,
      isTrigger = true,
      operator = "==",
      property = "value",
      type = "device",
      value = true
    }, {
      id = 516,
      isTrigger = true,
      operator = "==",
      property = "value",
      type = "device",
      value = true
    }, {
      id = 598,
      isTrigger = true,
      operator = "==",
      property = "value",
      type = "device",
      value = true
    }, {
      id = 633,
      isTrigger = true,
      operator = "==",
      property = "state",
      type = "device",
      value = true
    }, {
      id = 634,
      isTrigger = true,
      operator = "==",
      property = "state",
      type = "device",
      value = true
    } },
  operator = "any"
}

Aktion
----------------
-- print("Start : Haust./Brif/Tel.")
--[[

--]]

--Device-ID´s übergeben
sirenen         = 623   --QuickApp der Sirenensteuerung
telefon_1       = 633   --Telefonklingel Fritzbox Fon-1 Karin&Frank   
telefon_2       = 634   --Telefonklingel Fritzbox Fon-2 Gertrud
Klingeltaster_1 = 515   --EG Türklingel Karin & Frank
Klingeltaster_2 = 516   --EG Türklingel Gertrud
Briefkasten     = 598   --EG Eingang Briefkasten auf/zu


------------------------------------------------------------------------------------
---------------------------------- Hauptprogramm -----------------------------------
------------------------------------------------------------------------------------

--print("Start Haust./Brif/Tel.")
--print("Trigger-ID = ",json.encode(sourceTrigger.id))


if (json.encode(sourceTrigger.property) == '"execute"') then
    --print('Szene manuell ausgeführt - UserID: ' ..json.encode(sourceTrigger.id))
    -- Türklingelaktion Manuel nicht vorgesehen !
elseif json.encode(sourceTrigger.id) == tostring(Klingeltaster_1) then -- Taster-1
    fibaro.call(sirenen,"Sirene_Tuerklingel_EG")
elseif json.encode(sourceTrigger.id) == tostring(Klingeltaster_2) then -- Taster-2
    fibaro.call(sirenen,"Sirene_Tuerklingel_KG")
elseif json.encode(sourceTrigger.id) == tostring(Briefkasten) then -- Briefkasten 
    fibaro.alert("email", {2,20,586}, os.date("Datum %d.%m.%Y Uhrzeit %H:%M POST ist da !"))
    fibaro.alert("sms", {2,20,586}, os.date("Datum %d.%m.%Y Uhrzeit %H:%M POST ist da !"))
    fibaro.alert("push", {2,20,586}, os.date("Datum %d.%m.%Y Uhrzeit %H:%M POST ist da !"))
    -- print("Briefkasten")
elseif tonumber(json.encode(sourceTrigger.id)) == telefon_1 then -- Telefon Fritzbox Fon-1
    fibaro.call(sirenen,"Sirene_Telefon_EG")
    fibaro.sleep(3000)
elseif tonumber(json.encode(sourceTrigger.id)) == telefon_2 then -- Telefon Fritzbox Fon-2
    fibaro.call(sirenen,"Sirene_Telefon_KG")
    fibaro.sleep(3000)
end

Ich hoffe ich habe genügend Ausdokumentiert damit du verstehst wie das funktioniert.
Ist Einfach Billig und Geschmacklos ABER Funktioniert !

fibaro.call(sirenen,„Sirene_Telefon_KG“)
Ist der Aufruf meines QA für meine Sirenen.
Sirene_Telefon_KG ist die Funktion im dem QA die den Radau ausgiebt.
633/634 ist SmartImplant1
515/516 ist SmartImplant2
598 ist der Magnetkontakt im Briefkasten
UHHH komlizierte Sache ! :joy: :joy:

Viel Spaas Frank

50% der Hardware

Vielen Dank für deine Beispiele!!
Ich hab das Skript nun am Laufen, es triggert auch bereits bei händischer Bedienung!
Habs allerdings noch nicht geschafft, dass mein Modul, die beide potentialfreien Kontakte aufgrund des Relaiszustandes auslöst ;-(

Wenn ich den blauen (GND) mit dem grünen (IN1) oder gelben (IN2) Draht, des Modules verbinde, müsste doch der entsprechende IN Kontakt getriggert werden, oder hab ich da was falsch verstanden?

Habe in den Einstellungen noch eine potentielle Fehlerquelle ausgemacht:
Eventuell habe ich das Modul falsch definiert. Da gibts ja viele Moglichkeiten ?
(NC, NO, Bistabil, Monostabil u.s.w)

Vielleich hast ja einen Tipp??
PS: Mit gefällt deine Lösung mit dem kleinen TEACO Trafo!! Sehr elegant!

Hallo @pblacky

Ja die Eingänge reagieren auf GND.
Das sind Masse schaltende Eingänge Typisch für US Steuerlogik.

Hier mal meine Registereinstellungen der Türklingel

Teil 1


Teil 2

Das mit den TRACO ist keine Preiswerte Lösung aber eine sehr kleine.
Die Beiden Relais habe ich zur Potentialtrennung eingebaut da die Eingänge sehr empfindlich sind und die Schaltströme wie auch die Schaltschwellen sehr klein.
So muss der Kontakt schon sehr Gut sein damit das auch langfristig funktioniert.
Ein Klingelknopf ist ein miserabler Schaltkontakt und da ist eine Relaisspule schon besser geeignet.
Und einen Thermofühler habe ich um die Temperatur in unserer Vorratskammer zu kontrollieren.
(Hatte das Teil noch da liegen).

Viel Spaas hoffentlich hast du es schnell am laufen.
Gruss Frank

Hallo @Berges01,
Danke für die rasche Antwort!
Habe inzwischen meine gesamte Elektronik wieder abgebaut und NUR das Implant an ein 12V Netzgerät gehängt. Das Implant komplett neu angelernt und deine Parameter verglichen. Stimmen EXAKT mit meinen Parametern überein, sind auch per DEFAULT so eingestellt.
Habe das Skript nun auf die von mir vermuteten Parameter angepasst, leider ohne Erfolg!
Wenn ich den hellgrünen oder den gelben Draht des Implant mit GND (blau) verbinde passiert NICHTS!

Habe jetzt mal einen Screenshot des neu angelernten Modules gemacht. Nach meinem Verständnis sind die beiden IN1 udn IN2 ID 133 und 134 oder??


Vielleicht ist mein Implant defekt ??
Oder muss man bei der Eingangskonfig was spezielles einstellen?
Wenn ja, was hast du dort ausgewählt?
Hab schon nahezu alle probiert (Monostabil, Bistabil, NC, NO, u.s.w…)
Eingangsconfig

Schau so ist das bei mir.

ID511 ist das Elternteil.
Darunter sind die Kinder zu sehen

Das ist das Komplette SmartImplant Elternteil und Kinder

Einstellung der Eingänge und des Schutzes

NC und NO stehen für Schließer / Öffner haben für die Funktion keine Bedeutung nur für die Logik.
Binäreingang ist schon richtig.

Ah ich habs !!!
Du hast die Eingänge nicht von den Ausgänge endkoppelt !!!
Die Schieber hier :
image
Dann sind die Eingänge 129.5 und 129.6 würde ich sagen !
Versuche mal die Endkopplung und dann das HC2/HC3 Neu Starten.

Schau die Eingänge sind wirklich Masse Eingänge, das heist einen Schließer/öffner von In1 nach Masse.
image

Hast du einen HC2 ? (Habe ich wahrscheinlich schon gefragt und wieder vergessen).
Wenn ja wird das SmartImplant da unterstützt (Das Teil ist relativ neu).

Sonst bin ich auch ratlos ich hatte das Teil ohne Murren und Knurren zum laufen bekommen nur das Endkoppeln der Eingänge zu den Ausgängen ging am Anfang nicht erst nach einem Systemupdate funktionierte das auf einmal.

Viel Glück !
Gruss Frank

Hi @Berges01
Ich habs geschafft!
Der Fehler war, dass ich den Trigger aus deinem Beispiel schlampig umgesetzt hab!
Hatte property = "state", statt property = "device" verwendet, was natürlich nicht funktionieren kann!
Jetzt läuft meine Akkutestschaltung schon, in einer „BETA Version“. Morgen Früh, wenn der erste Testlauf vorbei ist, werde ich dann weitere Verbesserungen einbauen :wink:
VIELEN DANK!!
PS: Hab das Implant zum Testen auch in meine HC2 integriert. Waren alle Komponenten da und konfigurierbar, gehe davon aus, dass es dort auch funktioniert.
Habe die aktuellste Software V 4.60, die kam NACH dem Implant heraus, daher vermute ich dass es bereits gut funktioniert. Mit den Fibaro Komponenten sind die Jungs relativ schnell beim Implementieren :wink:

1 Like