Tasmota: json形式のShutterpositionの更新により、iobrokerとの互換性が失われます

作成日 2020年02月27日  ·  3コメント  ·  ソース: arendst/Tasmota

このプロジェクトの問題を報告していただきありがとうございます。 これを最初にお読みください:問題を開かないでください:-Tasmotaのバージョンが開発ブランチの最新ではない場合は、問題を送信する前にデバイスを更新してください。 あなたの問題はすでに解決されているかもしれません。 Tasmotaの最新のプリコンパイルされたバイナリはhttp://thehackbox.org/tasmota/からダウンロードできます-TuyaConvertを介してフラッシュが行われたときに問題が発生した場合は、Tuya Convertチームに連絡してください-問題がフラッシュの問題である場合は、 [Tasmotaサポートチャット](https://discord.gg/Ks2Kzd4)に対処してください-問題がコンパイルの問題である場合は、[Tasmotaサポートチャット](https://discord.gg/Ks2Kzd4)に対処してください。 -問題が以前に解決されている場合(つまり、重複した問題)、元の問題で質問してください-問題がWi-Fiの問題またはMQTTの問題である場合は、[FAQ](https:// tasmota.github.io/docs/#/help/FAQ)および[トラブルシューティング](https://tasmota.github.io/docs/#/help/Troubleshooting)以下の要求された情報を完了するには、数分かかります。 支援を提供する私たちの能力は、それなしでは大きく妨げられます。 要求された詳細は、追求するオプションに影響を与える可能性があります。 テンプレートの完成に費やすわずかな時間は、ボランティアがあなたを支援するのに役立ち、あなたを支援するために必要な時間を短縮するのにも役立ちます。 このテンプレートからテキストを削除しないでください! それ以外の場合、問題は自動的にクローズされます。

問題の説明

7.0.3では、シャッター位置はMQTTを介して値Shutterposition1として報告されました。 このようにして、iobrokerのsonoffmqttアダプターを介して値を読み取って更新することができました。

シャッターの位置、方向、ターゲット値がjsonでエンコードされているため、この機能は機能しなくなりました。 iobrokerでは、これはsonoff.0.DVES_917915.Shutter1_Position = 0のようなオブジェクトにマップされます。
このオブジェクトの値を更新してシャッターを開くと、アダプターは次のmqttコマンドを送信します。
「DVES_917915」に送信:cmnd / tasmota / Shutter1_Target = 100
しかし、tasmotaはこれを処理できません:
[DVES_917915]受信:stat / tasmota / RESULT = {"コマンド": "不明"}

要求された情報

_問題を送信する前に、すべての手順を実行し、該当するチェックボックスをオンにしたことを確認してください。 ありがとうございました!_

  • [x]寄稿ガイドとポリシーおよび行動規範を読む
  • [x]問題の問題を検索しました
  • [x]ドキュメントで問題を検索しました
  • [x]フォーラムで問題を検索しました
  • [x]チャットで問題を検索しました
  • [x]使用するデバイス(例:Sonoff Basic):Jinvooシャッターコントローラー
  • []使用されているTasmotaバイナリファームウェアのバージョン番号:最新のDEV

    • []プリコンパイル済み

    • [x]自己コンパイル

    • [x] IDE /使用するコンパイラ:Visual Studio Code / Platformio

  • [x]使用した点滅ツール:platformio
  • [x]コマンドの出力を提供します: Backlog Template; Module; GPIO 255
  Configuration output here:
23:33:08 CMD: Backlog Template; Module; GPIO 255
23:33:08 MQT: stat/tasmota/RESULT = {"NAME":"TuyaTouchShutt","GPIO":[52,0,0,19,23,18,0,0,17,21,0,22,0],"FLAG":0,"BASE":18}
23:33:08 MQT: stat/tasmota/RESULT = {"Module":{"0":"TuyaTouchShutt"}}
23:33:08 MQT: stat/tasmota/RESULT = {"GPIO0":{"52":"Led1"},"GPIO1":{"0":"None"},"GPIO2":{"0":"None"},"GPIO3":{"19":"Button3"},"GPIO4":{"23":"Relay3"},"GPIO5":{"18":"Button2"},"GPIO9":{"0":"None"},"GPIO10":{"0":"None"},"GPIO12":{"17":"Button1"},"GPIO13":{"21":"Relay1"},"GPIO14":{"0":"None"},"GPIO15":{"22":"Relay2"},"GPIO16":{"0":"None"}}

  • []ルールを使用する場合は、次のコマンドの出力を提供します: Backlog Rule1; Rule2; Rule3
  Rules output here:


  • []このコマンドの出力を提供します: Status 0

23:33:40 MQT: stat/tasmota/STATUS = {"Status":{"Module":0,"FriendlyName":["Tasmota","Tasmota2","Tasmota3"],"Topic":"tasmota","ButtonTopic":"0","Power":0,"PowerOnState":3,"LedState":1,"LedMask":"FFFF","SaveData":1,"SaveState":1,"SwitchTopic":"0","SwitchMode":[0,0,0,0,0,0,0,0],"ButtonRetain":0,"SwitchRetain":0,"SensorRetain":0,"PowerRetain":0}}
23:33:40 MQT: stat/tasmota/STATUS1 = {"StatusPRM":{"Baudrate":115200,"SerialConfig":"8N1","GroupTopic":"tasmotas","OtaUrl":"http://thehackbox.org/tasmota/release/tasmota-minimal.bin","RestartReason":"Software/System restart","Uptime":"0T00:40:14","StartupUTC":"2020-02-27T21:53:26","Sleep":50,"CfgHolder":4617,"BootCount":33,"BCResetTime":"2020-02-27T22:53:34","SaveCount":769,"SaveAddress":"F5000"}}
23:33:40 MQT: stat/tasmota/STATUS2 = {"StatusFWR":{"Version":"8.1.0.10(tasmota)","BuildDateTime":"2020-02-27T22:52:32","Boot":31,"Core":"2_6_1","SDK":"2.2.2-dev(38a443e)","Hardware":"ESP8266EX","CR":"351/699"}}
23:33:40 MQT: stat/tasmota/STATUS3 = {"StatusLOG":{"SerialLog":2,"WebLog":2,"MqttLog":0,"SysLog":0,"LogHost":"","LogPort":514,"SSId":["FRITZ!Box 7490",""],"TelePeriod":300,"Resolution":"558180C0","SetOption":["0000E009","2805C8000100060000005A00000000000000","40000000","00000000"]}}
23:33:40 MQT: stat/tasmota/STATUS4 = {"StatusMEM":{"ProgramSize":573,"Free":428,"Heap":25,"ProgramFlashSize":1024,"FlashSize":1024,"FlashChipId":"1440C8","FlashMode":3,"Features":["00000809","8FDAE397","043683A0","000000CD","010013C0","C000F981","00000000"],"Drivers":"1,2,3,4,5,6,7,8,9,10,12,16,18,19,20,21,22,24,26,27,29,30,35","Sensors":"1,2,3,4,5,6"}}
23:33:40 MQT: stat/tasmota/STATUS5 = {"StatusNET":{"Hostname":"tasmota-6421","IPAddress":"192.168.4.43","Gateway":"192.168.4.1","Subnetmask":"255.255.255.0","DNSServer":"192.168.4.1","Mac":"BC:DD:C2:91:79:15","Webserver":2,"WifiConfig":2,"WifiPower":17.0}}
23:33:40 MQT: stat/tasmota/STATUS6 = {"StatusMQT":{"MqttHost":"192.168.4.37","MqttPort":1883,"MqttClientMask":"DVES_%06X","MqttClient":"DVES_917915","MqttUser":"DVES_USER","MqttCount":4,"MAX_PACKET_SIZE":1200,"KEEPALIVE":30}}
23:33:40 MQT: stat/tasmota/STATUS7 = {"StatusTIM":{"UTC":"2020-02-27T22:33:40","Local":"2020-02-27T23:33:40","StartDST":"2020-03-29T02:00:00","EndDST":"2020-10-25T03:00:00","Timezone":"+01:00","Sunrise":"07:37","Sunset":"18:29"}}
23:33:40 MQT: stat/tasmota/STATUS10 = {"StatusSNS":{"Time":"2020-02-27T23:33:40","Shutter1":{"Position":0,"Direction":0,"Target":0}}}
23:33:40 MQT: stat/tasmota/STATUS11 = {"StatusSTS":{"Time":"2020-02-27T23:33:40","Uptime":"0T00:40:14","UptimeSec":2414,"Heap":25,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":4,"POWER1":"OFF","POWER2":"OFF","POWER3":"OFF","Wifi":{"AP":1,"SSId":"FRITZ!Box 7490","BSSId":"34:81:C4:36:2D:79","Channel":11,"RSSI":80,"Signal":-60,"LinkCount":1,"Downtime":"0T00:00:06"}}}
  • []問題が発生したときに、コンソールログ出力の出力を提供します。 該当する場合:
    _(デバッグ情報の詳細については_ weblog 4ください)_
23:34:48 MQT: Received Topic "cmnd/tasmota/Shutter1_Target", Data Size 3, Data "100"
23:34:48 SRC: MQTT
23:34:48 CMD: Group 0, Index 1, Command "SHUTTER1_TARGET", Data "100"
23:34:48 MQT: stat/tasmota/RESULT = {"Command":"Unknown"}

複製するには

_動作を再現する手順:_

オブジェクト値を変更する

期待される動作

更新された値を処理して、mqttを介してシャッターを移動できるようにする必要があります。 動作するコマンドは「ShutterPosition1100」ですが、名前の問題があります。
Shutter1.Position = 100のように、間にドットを使用するのはどうですか? tasmotaコマンドインタープリターはこれらを分割しているようです。

スクリーンショット

_該当する場合は、問題を説明するのに役立つスクリーンショットを追加します。_

追加のコンテキスト

_ここに問題に関するその他のコンテキストを追加します。_

以前はShutterPosition1オブジェクトを使用してシャッターを移動していましたが、「Target」値をShutter1Targetという名前のオブジェクトに設定したいと思います。 これは私にははるかに理にかなっています。

(問題が解決したら、忘れずに問題を閉じてください)

question

最も参考になるコメント

こんにちは、

この変更は、iobrokerアダプタリポジトリに対処する必要があります。 シャッターのjsonエンコーディングは、以前よりも多くの情報を提供します。

シャッターをサポートするには、iobrokerアダプターを更新する必要があります。 そこで対処し、ここに問題をリンクしてください。

ありがとう

全てのコメント3件

こんにちは、

この変更は、iobrokerアダプタリポジトリに対処する必要があります。 シャッターのjsonエンコーディングは、以前よりも多くの情報を提供します。

シャッターをサポートするには、iobrokerアダプターを更新する必要があります。 そこで対処し、ここに問題をリンクしてください。

ありがとう

位置を更新し、値を取り戻すコマンドはSHUTTERPOSITIONです。 私たちは物事を壊したくないので、現在のアプローチを維持しようとします。 ターゲットでもポジションでも大きな価値は見当たりません。 JSONは、現在の状態に関する詳細情報を取得したいという多くのユーザーの願いでした。
コマンド:cmnd / tasmota / Shutter1_Targetは実装されておらず、デフォルトのコードでは機能しませんでした。
「。」での新しい分割 TASMOTAではコマンドが最初の番号で終了するため、他のすべての機能が機能しなくなります。 この番号がインデックスです。 この背後にあるすべてが価値です。 したがって、このアイデアは素晴らしいかもしれませんが、実装することは不可能です。

Shutter1.Position 100->
17:06:42 CMD:グループ0、インデックス1 、コマンド " SHUTTER "、データ " .Position 100 "

回答済みでこの問題を解決します。


サポート情報(ガイド

詳細については、 Wikiを参照してください。
リストに質問がない場合は、よくある質問/回答とリンクについてFAQを参照して
より多くのユーザーエクスペリエンスについては、チャットを参照してください。
フォーラムについてはコミュニティを参照してください。
行動規範を参照してください

このページは役に立ちましたか?
0 / 5 - 0 評価