Ankündigung

Einklappen
Keine Ankündigung bisher.

OH3 - Cannot convert to a state type which item

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

    OH3 - Cannot convert to a state type which item

    Hallo,

    Habe es jetzt endlich mal geschafft zu OH3 upzudaten. Jetzt habe ich hier noch folgendes Problem das mit OH2.5 einwandfrei funktionierte.
    Folgender Fehler tritt auf:

    Cannot convert '2022-07-25T14:16:34.790917+02:00[Europe/Berlin]' to a state type which item 'AutoShading_Start_last' accepts: [DateTimeType, UnDefType].
    Das passiert durch folgenden Code:
    Code:
    AutoShading_Start_last.postUpdate(now.minusDays(1).toString())
    Dast item ist so deklariert
    Code:
    DateTime    AutoShading_Start_last        "Letzte Ausführung (Rollladen ab) [%1$td.%1$tm %1$tH:%1$tM Uhr]"        <time>
    Wie muss ich das ganze anpassen?
    Konnte dazu leider nichts passendes finden.

    #2
    Sieht für mich aus, als wenn dem Item der String nicht gefällt, den toString() erzeugt. Versuche es doch einmal ohne die Funktion.

    Kommentar


      #3
      Die Umrechnung der verschiedenen DateTime Typen ist beliebig komplex, schau mal hier: https://community.openhab.org/t/date...hab-3-x/107197
      Wenn ich es richtig interpretiere ist Nummer 3 der gesuchte Weg (angegeben ist die Umrechnung innerhalb einer Variablen, geht aber sinngemäß natürlich auch ohne extra Variable)
      Zuletzt geändert von udo1toni; 26.07.2022, 17:45.

      Kommentar


        #4
        Hallo,

        Zitat von Don Stefano Beitrag anzeigen
        Sieht für mich aus, als wenn dem Item der String nicht gefällt, den toString() erzeugt. Versuche es doch einmal ohne die Funktion.
        Dann erhalte ich den Fehler:

        Type mismatch: cannot convert from ZonedDateTime to State(org.eclipse.xtext.xbase.validation.IssueCode s.incompatible_types)
        Zitat von udo1toni Beitrag anzeigen
        Die Umrechnung der verschiedenen DateTime Typen ist beliebig komplex, schau mal hier: https://community.openhab.org/t/date...hab-3-x/107197
        Wenn ich es richtig interpretiere ist Nummer 3 der gesuchte Weg (angegeben ist die Umrechnung innerhalb einer Variablen, geht aber sinngemäß natürlich auch ohne extra Variable)
        So funktioniert es jetzt, war Variante 1.

        Code:
        AutoShading_Start_last.postUpdate(DateTimeType.valueOf(now.minusDays(1).toString()))

        Kommentar


          #5
          Zitat von TomW80 Beitrag anzeigen

          Code:
          AutoShading_Start_last.postUpdate(DateTimeType.valueOf(now.minusDays(1).toString()))
          Leider funktionierte das so doch nicht, es muss so lauten:

          AutoShading_Start_last.postUpdate(new DateTimeType(now.minusDays(1)))

          Kommentar

          Lädt...
          X