Ankündigung

Einklappen
Keine Ankündigung bisher.

"SMA Binding " für OpenHAB

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

    #31
    WORKS LIKE A CHARM

    Ich musste noch einen weiteren Wert in die Gruppe aufnehmen (Gesamtwirkleistung), welcher den gleichen unrealistischen Wert liefert.

    Kommentar


      #32
      Prima. Der Fehler waren fehlende Klammern. Korrekt müsste die Zeile
      Code:
      if((triggeringItem.state as Number) < nGrenze) nWert = triggeringItem.state as Number
      heißen. openHAB castet stillschweigend nach Number, besser ist es aber, es dazu zu schreiben.

      Kommentar


        #33
        Da war sie wieder, die Klammer. Ein dünner Strich und doch so wichtig. Funktioniert natürlich.

        Kommentar


          #34
          Hallo,

          als erstes einmal vielen Dank für die bisherigen Codeschnipsel, die haben mich schon weit gebracht

          Ich habe nur das Problem, dass ich immer folgende Meldung im Log bekomme:
          Code:
          2020-09-10 14:25:22.497 [ERROR] [ntime.internal.engine.RuleEngineImpl] - Rule 'eine rule für alle': null
          Die Rule habe ich quasi 1 zu 1 übernommen
          Code:
          rule "eine rule für alle"
          when
              Member of gSMA_Input changed
          then
              val output = Inverter.members.filter[i|triggeringItem.name.startsWith(i.name)].head
              var Number nWert = 0
              if(triggeringItem.state instanceof Number) {
                  var Number nGrenze = 0
                  switch(triggeringItem.name.split("_").get(2)) {
                      case "voltage" : nGrenze = 240
                      case "ampere" : nGrenze = 20
                      case "watt" : nGrenze = 4500
                  }
                  if((triggeringItem.state as Number) < nGrenze) {
                      nWert = triggeringItem.state as Number
                  }
              }
              output.sendCommand(nWert)
          end
          Als Information für Leute die das eventuell auch nachbauen wollen:
          Ich musste bei meinem Sunny Boy 4.0 erst die Firmware updaten. Geupdated wurde von 1.1.32.R auf 3.10.18.R.
          Vorher wurden einige der Items mit unsinnigen Werten gefüllt, da anscheinend die Adressen nicht passten.

          Und in den Items hat sich ein (Kopier-) Fehler eingeschlichen, bei folgenden Items gibt es hinten ein Leerzeichen welches zu Fehlern führte:
          Code:
          Number SMA_input_ampere_1_In (gSMA_Input) {channel="modbus:data:smaTCP:smaHolding7:sma_input _ampere_1:number"}
          Number SMA_input_voltage_1_IN (gSMA_Input) {channel="modbus:data:smaTCP:smaHolding7:sma_input _voltage_1:number"}
          Number SMA_input_ampere_2_In (gSMA_Input) {channel="modbus:data:smaTCP:smaHolding8:sma_input _ampere_2:number"}
          Number SMA_input_voltage_2_In (gSMA_Input) {channel="modbus:data:smaTCP:smaHolding8:sma_input _voltage_2:number"}
          Number SMA_input_watt_2_In (gSMA_Input) {channel="modbus:data:smaTCP:smaHolding8:sma_input _watt_2:number"}

          Kommentar

          Lädt...
          X