Ankündigung

Einklappen
Keine Ankündigung bisher.

Test: OpenHAB an Arduino

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Test: OpenHAB an Arduino

    Hallo Leute,

    bin grade dabei mich ein wenig in OpenHAB einzuarbeiten.
    Habe nun ein Arduino-Board am COM4 und die Homematic Anlage am laufen.
    Programmiert ist es soweit auch alles. Wollte über einen Taster am Arduino eine Lampe im Homematic System schalten.

    Als ITEM habe ich:

    String Arduino "Arduino [%s]" {serial="COM4"}

    In der Rule steht

    import org.openhab.core.library.types.*
    import org.openhab.core.persistence.*
    import org.openhab.model.script.actions.* // was diese Codezeilen machen weiß ich nicht. Habe ich so aus dem Internet

    var String ArduinoUpdate = " "

    rule "Arduino on update"
    when
    Item Arduino received update
    then
    ArduinoUpdate = ArduinoUpdate + Arduino.state.toString.trim

    println("ArduinoUpdate: " + ArduinoUpdate)

    if (ArduinoUpdate.contains(";"))
    {
    if (ArduinoUpdate.contains("item=B1"))
    {
    postUpdate(MP3_Light, if(ArduinoUpdate.contains("value=ON")) ON else OFF)
    }

    if (ArduinoUpdate.contains("item=B2"))
    {
    postUpdate(MP3_Light, if(ArduinoUpdate.contains("value=FF")) ON else OFF)
    }
    ArduinoUpdate = " "
    }
    end

    Im der Eingabeaufforderung erhalte ich folgendes:



    Problem ist nur das diese Lampe nicht angeht.... aber in der CMD steht ja das das Busevent durch ist.

    Wäre dankbar für jeden Tipp

    Danke
    You do not have permission to view this gallery.
    This gallery has 1 photos.

    #2
    Moin,

    Bekommst ein event im "events.log". Wenn nicht, dann kommt nichts bei OpenHAB an. (Oder meinst du das mit "in der CMD"???)
    Wenn nichts ankommt: Mini Terminal-Programm an die COM und überprüfen. Auch die Parameter der seriellen Schnittstelle prüfen.

    Wenns ankommt:
    (Achtung: Ich bin auch rule-Anfänger.)
    Hast Du die Rule mit dem Designer erstellt?
    Mir kommt das "println" komisch vor.
    Ich habe bisher noch kein "println" in einer rule gesehen, ich verwende für Testausgaben logWarn/logInfo.
    Der Designer sollte das anmerken.
    Kann die rule-Datei denn fehlerfrei geladen werden?

    Gruß,
    Carsten

    Kommentar


      #3
      Wenn ich es richtig verstehe, möchtest Du das Item MP3_Light mit der Rule ein- und ausschalten. Dann solltest Du postUpdate durch sendCommand ersetzen. Ersteres ändert nur den Zustand des Items, ohne den neuen Zustand der Umwelt mitzuteilen, letzteres sendet den Befehl auch an die Hardware, die mit dem Item angebunden ist.
      Die Ausgabe an der Console sieht ansonsten gut aus.
      Kleiner Tipp am Rande: Mit logInfo (oder logWarn, LogError, logDebug) kannst Du Textmeldungen gezielt ausgeben und auch gleich mit loggen lassen (die landen dann in ./logs/openhab.log - Deine mit println ausgegebene Zeile dürfte weder in ./logs/event.log noch in ./logs/openhab.log auftauchen)
      Zuletzt geändert von udo1toni; 11.03.2015, 11:41.

      Kommentar

      Lädt...
      X