Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. SQL-Adapter: Wert in ts_number statt ts_string

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    SQL-Adapter: Wert in ts_number statt ts_string

    This topic has been deleted. Only users with topic management privileges can see it.
    • J
      JohannesJahn last edited by

      Hallo,
      ich möchte Daten periodisch mit sendTo(...) an die sql.0 - Instanz in eine Datenbank schreiben. Für die Daten gibt es in ioBroker keine Datenpunkte. Im Prinzip funktioniert dies auch, aber leider werden die Daten nicht in der Tabelle ts_number, sondern in ts_string gespeichert.

      Hier nützt es dann auch nichts, dass ich in dem Objekt, das ich versende, "type: 0" hinzugefügt habe. Im ioB-Log erscheint sinngemäß die Meldung, dass es keinen Datenpunkt gibt, deshalb der Typ nicht ermittelbar ist und deswegen als Typ STRING verwendet wird.

      Ich möchte aber, dass die Werte als ZAHL verwendet werden und somit die Werte in der Tabelle ts_number gespeichert werden.

      Hier mal ein Schnipsel vom Objekt, welches ich per sendTo an sql.0 sende:

      {id: 'aaa.bbb_kein iob-DP', state: { ts: Date.now(),      val: 12,  
                                           ack: false,          from: 'Testsource',
                                           rules: false,   
                                           type: 0 }}
      
      sendTo('sql.0', 'storeState', oObj, result => ....)
      

      Die Attribute 'rules' und 'type' bewirken leider gar nichts.

      Was muss ich machen, damit die Werte in der Datenbank in der Tabelle ts_number landen?

      Vielen Dank für eure Hilfe
      Johannes

      Ro75 OliverIO 2 Replies Last reply Reply Quote 0
      • Ro75
        Ro75 @JohannesJahn last edited by

        @johannesjahn schau mal hier

        1aff57d5-52cb-4f13-bfa3-245af31af7c0-image.png

        Ro75.

        J 1 Reply Last reply Reply Quote 0
        • J
          JohannesJahn @Ro75 last edited by

          @ro75 said in SQL-Adapter: Wert in ts_number statt ts_string:

          schau mal hier

          Ro75.

          Danke für die Rückmeldung, jedoch sind dies Einstellungen, die man vornehmen kann, wenn man bei einem existierenden Datenpunkt die Protokollierung aktivieren möchte.

          Bei meinen Daten gibt es keinen expliziten Datenpunkt im ioBroker. Was nicht da ist, kann ich auch nicht konfigurieren (oder habe ich Deine Antwort einfach nur nicht verstanden?).

          Ro75 1 Reply Last reply Reply Quote 0
          • Ro75
            Ro75 @JohannesJahn last edited by

            @johannesjahn also willst du in die Tabelle der Datenbank manuell reinschreiben?

            Falls ja, die von dir aufgeführten Tabellen werden über die Historisierung gefüllt - also nix manuell, zumindest nicht in diese.

            Ro75.

            1 Reply Last reply Reply Quote 0
            • OliverIO
              OliverIO @JohannesJahn last edited by OliverIO

              @johannesjahn

              hm,
              das läuft für mich unter unnötig kompliziert
              also du willst unter Umgehung aller vom Adapter vorgegebenen Einstellungen und Prüfungen in seine Tabellen schreiben und wunderst dich, das das nicht so funktioniert.

              Was hindert dich den Datenpunkt einfach anzulegen, die Historisierung dafür anzuschalten und ganz normal diesen Datenpunkt zu beschreiben?

              Falls die Daten außerhalb von iobroker entstehen, kannst du immer noch mit der simple-api den datenpunkt beschreiben.

              haus-automatisierung 1 Reply Last reply Reply Quote 2
              • haus-automatisierung
                haus-automatisierung Developer Most Active @OliverIO last edited by

                @oliverio Da fällt mir spontan ein Beispiel ein:

                Ich wollte eigene Zeitstempel schreiben. Also in der Zukunft und in der Vergangenheit. Und das geht über die normale Protokollierung mit setState eben nicht (das ist dann immer „jetzt“)

                Das klappt per sendTo wunderbar

                Ro75 OliverIO 2 Replies Last reply Reply Quote 1
                • Ro75
                  Ro75 @haus-automatisierung last edited by

                  @haus-automatisierung Das stimmt. In manchen Fällen ja, mache das sogar auch mit zwei eigenen Tabellen.

                  Nur sein konkretes Vorhaben, habe ich noch nicht erkannt.

                  1 Reply Last reply Reply Quote 1
                  • OliverIO
                    OliverIO @haus-automatisierung last edited by

                    @haus-automatisierung

                    ja mag sein das es anwendungsszenarien gibt,
                    aber im beschriebenen fall mit
                    ts: Date.now(),
                    ?

                    1 Reply Last reply Reply Quote 1
                    • First post
                      Last post

                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    1.1k
                    Online

                    31.7k
                    Users

                    79.7k
                    Topics

                    1.3m
                    Posts

                    4
                    8
                    282
                    Loading More Posts
                    • Oldest to Newest
                    • Newest to Oldest
                    • Most Votes
                    Reply
                    • Reply as topic
                    Log in to reply
                    Community
                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                    The ioBroker Community 2014-2023
                    logo