mirror of
https://github.com/arendst/Tasmota.git
synced 2025-07-23 18:56:38 +00:00
Matter add virtual sensors (#19530)
This commit is contained in:
parent
d2aee662fd
commit
141a38191a
@ -226,12 +226,17 @@ extern const bclass be_class_Matter_TLV; // need to declare it upfront because
|
||||
#include "solidify/solidified_Matter_Plugin_3_ShutterTilt.h"
|
||||
#include "solidify/solidified_Matter_Plugin_2_Sensor.h"
|
||||
#include "solidify/solidified_Matter_Plugin_3_Sensor_Pressure.h"
|
||||
#include "solidify/solidified_Matter_Plugin_9_Virt_Sensor_Pressure.h"
|
||||
#include "solidify/solidified_Matter_Plugin_3_Sensor_Temp.h"
|
||||
#include "solidify/solidified_Matter_Plugin_9_Virt_Sensor_Temp.h"
|
||||
#include "solidify/solidified_Matter_Plugin_3_Sensor_Illuminance.h"
|
||||
#include "solidify/solidified_Matter_Plugin_9_Virt_Sensor_Illuminance.h"
|
||||
#include "solidify/solidified_Matter_Plugin_3_Sensor_Humidity.h"
|
||||
#include "solidify/solidified_Matter_Plugin_9_Virt_Sensor_Humidity.h"
|
||||
#include "solidify/solidified_Matter_Plugin_3_Sensor_Occupancy.h"
|
||||
#include "solidify/solidified_Matter_Plugin_3_Sensor_OnOff.h"
|
||||
#include "solidify/solidified_Matter_Plugin_3_Sensor_Contact.h"
|
||||
#include "solidify/solidified_Matter_Plugin_9_Virt_Sensor_Contact.h"
|
||||
#include "solidify/solidified_Matter_Plugin_2_Bridge_HTTP.h"
|
||||
#include "solidify/solidified_Matter_Plugin_4_Bridge_OnOff.h"
|
||||
#include "solidify/solidified_Matter_Plugin_3_Bridge_Light0.h"
|
||||
@ -442,12 +447,17 @@ module matter (scope: global, strings: weak) {
|
||||
Plugin_ShutterTilt, class(be_class_Matter_Plugin_ShutterTilt) // Shutter + Tilt
|
||||
Plugin_Sensor, class(be_class_Matter_Plugin_Sensor) // Generic Sensor
|
||||
Plugin_Sensor_Pressure, class(be_class_Matter_Plugin_Sensor_Pressure) // Pressure Sensor
|
||||
Plugin_Sensor_Virt_Pressure, class(be_class_Matter_Plugin_Virt_Sensor_Pressure) // Pressure Virtual Sensor
|
||||
Plugin_Sensor_Temp, class(be_class_Matter_Plugin_Sensor_Temp) // Temperature Sensor
|
||||
Plugin_Virt_Sensor_Temp, class(be_class_Matter_Plugin_Virt_Sensor_Temp) // Temperature Sensor
|
||||
Plugin_Sensor_Illuminance, class(be_class_Matter_Plugin_Sensor_Illuminance) // Illuminance Sensor
|
||||
Plugin_Virt_Sensor_Illuminance, class(be_class_Matter_Plugin_Virt_Sensor_Illuminance) // Illuminance Virtual Sensor
|
||||
Plugin_Sensor_Humidity, class(be_class_Matter_Plugin_Sensor_Humidity) // Humidity Sensor
|
||||
Plugin_Sensor_Virt_Humidity, class(be_class_Matter_Plugin_Virt_Sensor_Humidity) // Humidity Virtual Sensor
|
||||
Plugin_Sensor_Occupancy, class(be_class_Matter_Plugin_Sensor_Occupancy) // Occupancy Sensor
|
||||
Plugin_Sensor_OnOff, class(be_class_Matter_Plugin_Sensor_OnOff) // Simple OnOff Sensor
|
||||
Plugin_Sensor_Contact, class(be_class_Matter_Plugin_Sensor_Contact) // Contact Sensor
|
||||
Plugin_Virt_Sensor_Contact, class(be_class_Matter_Plugin_Virt_Sensor_Contact) // Virtual Contact Sensor
|
||||
Plugin_Bridge_HTTP, class(be_class_Matter_Plugin_Bridge_HTTP) // HTTP bridge superclass
|
||||
Plugin_Bridge_OnOff, class(be_class_Matter_Plugin_Bridge_OnOff) // HTTP Relay/Light behavior (OnOff)
|
||||
Plugin_Bridge_Light0, class(be_class_Matter_Plugin_Bridge_Light0) // HTTP OnOff Light
|
||||
|
@ -1288,7 +1288,7 @@ class Matter_Device
|
||||
# get a class name light "light0" and return displayname
|
||||
def get_plugin_class_displayname(name)
|
||||
var cl = self.plugins_classes.find(name)
|
||||
return cl ? cl.NAME : ""
|
||||
return cl ? cl.DISPLAY_NAME : ""
|
||||
end
|
||||
|
||||
#############################################################
|
||||
@ -1587,7 +1587,7 @@ class Matter_Device
|
||||
end
|
||||
|
||||
if (pl == nil) return tasmota.resp_cmnd_str("Invalid Device") end
|
||||
if (!pl.virtual) return tasmota.resp_cmnd_str("Device is not virtual") end
|
||||
if (!pl.VIRTUAL) return tasmota.resp_cmnd_str("Device is not virtual") end
|
||||
# filter parameter accedpted by plugin, and rename with canonical
|
||||
# Ex: {"power":1,"HUE":2} becomes {"Power":1,"Hue":2}
|
||||
var uc = pl.consolidate_update_commands()
|
||||
|
@ -27,12 +27,13 @@ import matter
|
||||
class Matter_Plugin
|
||||
# Global type system for plugins
|
||||
static var TYPE = "" # name of the plug-in in json
|
||||
static var NAME = "" # display name of the plug-in
|
||||
static var DISPLAY_NAME = "" # display name of the plug-in
|
||||
static var ARG = "" # additional argument name (or empty if none)
|
||||
static var ARG_TYPE = / x -> str(x) # function to convert argument to the right type
|
||||
static var ARG_HINT = "_Not used_" # Hint for entering the Argument (inside 'placeholder')
|
||||
# Behavior of the plugin, frequency at which `update_shadow()` is called
|
||||
static var UPDATE_TIME = 5000 # default is every 5 seconds
|
||||
static var VIRTUAL = false # set to true only for virtual devices
|
||||
var update_next # next timestamp for update
|
||||
# Configuration of the plugin: clusters and type
|
||||
static var CLUSTERS = {
|
||||
@ -46,7 +47,6 @@ class Matter_Plugin
|
||||
var clusters # map from cluster to list of attributes, typically constructed from CLUSTERS hierachy
|
||||
var tick # tick value when it was last updated
|
||||
var node_label # name of the endpoint, used only in bridge mode, "" if none
|
||||
var virtual # (bool) is the device pure virtual (i.e. not related to a device implementation by Tasmota)
|
||||
|
||||
#############################################################
|
||||
# MVC Model
|
||||
@ -66,7 +66,6 @@ class Matter_Plugin
|
||||
self.clusters = self.consolidate_clusters()
|
||||
self.parse_configuration(config)
|
||||
self.node_label = config.find("name", "")
|
||||
self.virtual = false
|
||||
end
|
||||
|
||||
# proxy for the same method in IM
|
||||
|
@ -37,7 +37,6 @@ class Matter_Plugin_Device : Matter_Plugin
|
||||
# var clusters # map from cluster to list of attributes, typically constructed from CLUSTERS hierachy
|
||||
# var tick # tick value when it was last updated
|
||||
# var node_label # name of the endpoint, used only in bridge mode, "" if none
|
||||
# var virtual # (bool) is the device pure virtual (i.e. not related to a device implementation by Tasmota)
|
||||
|
||||
#############################################################
|
||||
# read an attribute
|
||||
|
@ -25,7 +25,7 @@ import matter
|
||||
|
||||
class Matter_Plugin_Root : Matter_Plugin
|
||||
static var TYPE = "root" # name of the plug-in in json
|
||||
static var NAME = "Root node" # display name of the plug-in
|
||||
static var DISPLAY_NAME = "Root node" # display name of the plug-in
|
||||
static var CLUSTERS = matter.consolidate_clusters(_class, {
|
||||
# 0x001D: inherited # Descriptor Cluster 9.5 p.453
|
||||
0x001F: [0,2,3,4], # Access Control Cluster, p.461
|
||||
|
@ -25,7 +25,7 @@ import matter
|
||||
|
||||
class Matter_Plugin_Aggregator : Matter_Plugin
|
||||
static var TYPE = "aggregator" # name of the plug-in in json
|
||||
static var NAME = "Aggregator" # display name of the plug-in
|
||||
static var DISPLAY_NAME = "Aggregator" # display name of the plug-in
|
||||
# static var CLUSTERS = {
|
||||
# # 0x001D: inherited # Descriptor Cluster 9.5 p.453
|
||||
# }
|
||||
|
@ -26,7 +26,7 @@ import matter
|
||||
|
||||
class Matter_Plugin_Bridge_HTTP : Matter_Plugin_Device
|
||||
static var TYPE = "" # name of the plug-in in json
|
||||
static var NAME = "" # display name of the plug-in
|
||||
static var DISPLAY_NAME = "" # display name of the plug-in
|
||||
static var ARG = "" # additional argument name (or empty if none)
|
||||
static var ARG_HTTP = "url" # domain name
|
||||
static var UPDATE_TIME = 3000 # update every 3s
|
||||
@ -233,7 +233,7 @@ class Matter_Plugin_Bridge_HTTP : Matter_Plugin_Device
|
||||
def web_values()
|
||||
import webserver
|
||||
self.web_values_prefix()
|
||||
webserver.content_send("<-- (" + self.NAME + ") -->")
|
||||
webserver.content_send("<-- (" + self.DISPLAY_NAME + ") -->")
|
||||
end
|
||||
|
||||
# Show prefix before web value
|
||||
|
@ -25,7 +25,7 @@ import matter
|
||||
|
||||
class Matter_Plugin_Light0 : Matter_Plugin_Device
|
||||
static var TYPE = "light0" # name of the plug-in in json
|
||||
static var NAME = "Light 0 On" # display name of the plug-in
|
||||
static var DISPLAY_NAME = "Light 0 On" # display name of the plug-in
|
||||
static var UPDATE_TIME = 250 # update every 250ms
|
||||
static var CLUSTERS = matter.consolidate_clusters(_class,
|
||||
{
|
||||
@ -44,7 +44,6 @@ class Matter_Plugin_Light0 : Matter_Plugin_Device
|
||||
# var clusters # map from cluster to list of attributes, typically constructed from CLUSTERS hierachy
|
||||
# var tick # tick value when it was last updated
|
||||
# var node_label # name of the endpoint, used only in bridge mode, "" if none
|
||||
# var virtual # (bool) is the device pure virtual (i.e. not related to a device implementation by Tasmota)
|
||||
var shadow_onoff # (bool) status of the light power on/off
|
||||
|
||||
#############################################################
|
||||
@ -58,7 +57,7 @@ class Matter_Plugin_Light0 : Matter_Plugin_Device
|
||||
# Update shadow
|
||||
#
|
||||
def update_shadow()
|
||||
if !self.virtual
|
||||
if !self.VIRTUAL
|
||||
import light
|
||||
var light_status = light.get()
|
||||
if light_status != nil
|
||||
@ -73,7 +72,7 @@ class Matter_Plugin_Light0 : Matter_Plugin_Device
|
||||
end
|
||||
|
||||
def set_onoff(pow)
|
||||
if !self.virtual
|
||||
if !self.VIRTUAL
|
||||
import light
|
||||
light.set({'power':pow})
|
||||
self.update_shadow()
|
||||
|
@ -25,7 +25,7 @@ import matter
|
||||
|
||||
class Matter_Plugin_OnOff : Matter_Plugin_Device
|
||||
static var TYPE = "relay" # name of the plug-in in json
|
||||
static var NAME = "Relay" # display name of the plug-in
|
||||
static var DISPLAY_NAME = "Relay" # display name of the plug-in
|
||||
static var ARG = "relay" # additional argument name (or empty if none)
|
||||
static var ARG_TYPE = / x -> int(x) # function to convert argument to the right type
|
||||
static var ARG_HINT = "Relay<x> number"
|
||||
@ -46,7 +46,6 @@ class Matter_Plugin_OnOff : Matter_Plugin_Device
|
||||
# var clusters # map from cluster to list of attributes, typically constructed from CLUSTERS hierachy
|
||||
# var tick # tick value when it was last updated
|
||||
# var node_label # name of the endpoint, used only in bridge mode, "" if none
|
||||
# var virtual # (bool) is the device pure virtual (i.e. not related to a device implementation by Tasmota)
|
||||
var tasmota_relay_index # Relay number in Tasmota (zero based)
|
||||
|
||||
#############################################################
|
||||
@ -69,7 +68,7 @@ class Matter_Plugin_OnOff : Matter_Plugin_Device
|
||||
# Update shadow
|
||||
#
|
||||
def update_shadow()
|
||||
if !self.virtual
|
||||
if !self.VIRTUAL
|
||||
var pow = tasmota.get_power(self.tasmota_relay_index - 1)
|
||||
if pow != nil
|
||||
if self.shadow_onoff != bool(pow)
|
||||
@ -85,7 +84,7 @@ class Matter_Plugin_OnOff : Matter_Plugin_Device
|
||||
# Model
|
||||
#
|
||||
def set_onoff(pow)
|
||||
if !self.virtual
|
||||
if !self.VIRTUAL
|
||||
tasmota.set_power(self.tasmota_relay_index - 1, bool(pow))
|
||||
self.update_shadow()
|
||||
else
|
||||
|
@ -27,6 +27,7 @@ class Matter_Plugin_Sensor : Matter_Plugin_Device
|
||||
static var ARG = "filter" # additional argument name (or empty if none)
|
||||
static var ARG_HINT = "Filter pattern"
|
||||
static var UPDATE_TIME = 5000 # update sensor every 5s
|
||||
static var JSON_NAME = "" # Name of the sensor attribute in JSON payloads
|
||||
var tasmota_sensor_filter # Rule-type filter to the value, like "ESP32#Temperature"
|
||||
var tasmota_sensor_matcher # Actual matcher object
|
||||
var shadow_value # Last known value
|
||||
@ -52,9 +53,9 @@ class Matter_Plugin_Sensor : Matter_Plugin_Device
|
||||
var val = self.pre_value(real(self.tasmota_sensor_matcher.match(payload)))
|
||||
if val != nil
|
||||
if val != self.shadow_value
|
||||
self.value_changed(val)
|
||||
self.value_changed()
|
||||
self.shadow_value = val
|
||||
end
|
||||
self.shadow_value = val
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -64,7 +65,7 @@ class Matter_Plugin_Sensor : Matter_Plugin_Device
|
||||
#
|
||||
# This must be overriden.
|
||||
# This is where you call `self.attribute_updated(<cluster>, <attribute>)`
|
||||
def value_changed(val)
|
||||
def value_changed()
|
||||
# self.attribute_updated(0x0402, 0x0000)
|
||||
end
|
||||
|
||||
@ -77,5 +78,32 @@ class Matter_Plugin_Sensor : Matter_Plugin_Device
|
||||
return val
|
||||
end
|
||||
|
||||
#############################################################
|
||||
# update_virtual
|
||||
#
|
||||
# Update internal state for virtual devices
|
||||
def update_virtual(payload_json)
|
||||
var val = payload_json.find(self.JSON_NAME)
|
||||
if val != nil
|
||||
if type(val) == 'bool' val = int(val) end
|
||||
|
||||
if self.shadow_value != val
|
||||
self.value_changed()
|
||||
self.shadow_value = val
|
||||
end
|
||||
end
|
||||
super(self).update_virtual(payload_json)
|
||||
end
|
||||
|
||||
#############################################################
|
||||
# append_state_json
|
||||
#
|
||||
# Output the current state in JSON
|
||||
# New values need to be appended with `,"key":value` (including prefix comma)
|
||||
def append_state_json()
|
||||
var val = (self.shadow_value != nil) ? self.shadow_value : "null"
|
||||
return f',"{self.JSON_NAME}":{val}'
|
||||
end
|
||||
|
||||
end
|
||||
matter.Plugin_Sensor = Matter_Plugin_Sensor
|
||||
|
@ -25,7 +25,7 @@ import matter
|
||||
|
||||
class Matter_Plugin_Shutter : Matter_Plugin_Device
|
||||
static var TYPE = "shutter" # name of the plug-in in json
|
||||
static var NAME = "Shutter" # display name of the plug-in
|
||||
static var DISPLAY_NAME = "Shutter" # display name of the plug-in
|
||||
static var ARG = "shutter" # additional argument name (or empty if none)
|
||||
static var ARG_TYPE = / x -> int(x) # function to convert argument to the right type
|
||||
static var ARG_HINT = "Relay<x> number"
|
||||
|
@ -25,7 +25,7 @@ import matter
|
||||
|
||||
class Matter_Plugin_Bridge_Light0 : Matter_Plugin_Bridge_HTTP
|
||||
static var TYPE = "http_light0" # name of the plug-in in json
|
||||
static var NAME = "Light 0 On" # display name of the plug-in
|
||||
static var DISPLAY_NAME = "Light 0 On" # display name of the plug-in
|
||||
static var ARG = "relay" # additional argument name (or empty if none)
|
||||
static var ARG_HINT = "Power<x> number"
|
||||
static var ARG_TYPE = / x -> int(x) # function to convert argument to the right type
|
||||
|
@ -25,7 +25,7 @@ import matter
|
||||
|
||||
class Matter_Plugin_Bridge_Sensor : Matter_Plugin_Bridge_HTTP
|
||||
# static var TYPE = "" # name of the plug-in in json
|
||||
# static var NAME = "" # display name of the plug-in
|
||||
# static var DISPLAY_NAME = "" # display name of the plug-in
|
||||
static var ARG = "filter" # additional argument name (or empty if none)
|
||||
static var ARG_HTTP = "url" # domain name
|
||||
static var ARG_HINT = "Filter pattern"
|
||||
@ -73,9 +73,9 @@ class Matter_Plugin_Bridge_Sensor : Matter_Plugin_Bridge_HTTP
|
||||
var val = self.pre_value(real(self.tasmota_sensor_matcher.match(data)))
|
||||
if val != nil
|
||||
if val != self.shadow_value
|
||||
self.value_changed(val)
|
||||
self.value_changed()
|
||||
self.shadow_value = val
|
||||
end
|
||||
self.shadow_value = val
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -86,7 +86,7 @@ class Matter_Plugin_Bridge_Sensor : Matter_Plugin_Bridge_HTTP
|
||||
#
|
||||
# This must be overriden.
|
||||
# This is where you call `self.attribute_updated(<cluster>, <attribute>)`
|
||||
def value_changed(val)
|
||||
def value_changed()
|
||||
# self.attribute_updated(0x0402, 0x0000)
|
||||
end
|
||||
|
||||
|
@ -25,7 +25,7 @@ import matter
|
||||
|
||||
class Matter_Plugin_Light1 : Matter_Plugin_Light0
|
||||
static var TYPE = "light1" # name of the plug-in in json
|
||||
static var NAME = "Light 1 Dimmer" # display name of the plug-in
|
||||
static var DISPLAY_NAME = "Light 1 Dimmer" # display name of the plug-in
|
||||
static var CLUSTERS = matter.consolidate_clusters(_class, {
|
||||
# 0x001D: inherited # Descriptor Cluster 9.5 p.453
|
||||
# 0x0003: inherited # Identify 1.2 p.16
|
||||
@ -43,7 +43,6 @@ class Matter_Plugin_Light1 : Matter_Plugin_Light0
|
||||
# var clusters # map from cluster to list of attributes, typically constructed from CLUSTERS hierachy
|
||||
# var tick # tick value when it was last updated
|
||||
# var node_label # name of the endpoint, used only in bridge mode, "" if none
|
||||
# var virtual # (bool) is the device pure virtual (i.e. not related to a device implementation by Tasmota)
|
||||
# var shadow_onoff # (bool) status of the light power on/off
|
||||
var shadow_bri # (int 0..254) brightness before Gamma correction - as per Matter 255 is not allowed
|
||||
|
||||
@ -58,7 +57,7 @@ class Matter_Plugin_Light1 : Matter_Plugin_Light0
|
||||
# Update shadow
|
||||
#
|
||||
def update_shadow()
|
||||
if !self.virtual
|
||||
if !self.VIRTUAL
|
||||
import light
|
||||
var light_status = light.get()
|
||||
if light_status != nil
|
||||
@ -84,7 +83,7 @@ class Matter_Plugin_Light1 : Matter_Plugin_Light0
|
||||
if (bri_254 < 0) bri_254 = 0 end
|
||||
if (bri_254 > 254) bri_254 = 254 end
|
||||
pow = (pow != nil) ? bool(pow) : nil # nil or bool
|
||||
if !self.virtual
|
||||
if !self.VIRTUAL
|
||||
import light
|
||||
var bri_255 = tasmota.scale_uint(bri_254, 0, 254, 0, 255)
|
||||
if pow == nil
|
||||
|
@ -25,7 +25,7 @@ import matter
|
||||
|
||||
class Matter_Plugin_Sensor_Contact : Matter_Plugin_Device
|
||||
static var TYPE = "contact" # name of the plug-in in json
|
||||
static var NAME = "Contact" # display name of the plug-in
|
||||
static var DISPLAY_NAME = "Contact" # display name of the plug-in
|
||||
static var ARG = "switch" # additional argument name (or empty if none)
|
||||
static var ARG_HINT = "Switch<x> number"
|
||||
static var ARG_TYPE = / x -> int(x) # function to convert argument to the right type
|
||||
@ -38,6 +38,13 @@ class Matter_Plugin_Sensor_Contact : Matter_Plugin_Device
|
||||
var tasmota_switch_index # Switch number in Tasmota (one based)
|
||||
var shadow_contact
|
||||
|
||||
#############################################################
|
||||
# Constructor
|
||||
def init(device, endpoint, config)
|
||||
super(self).init(device, endpoint, config)
|
||||
self.shadow_contact = false
|
||||
end
|
||||
|
||||
#############################################################
|
||||
# parse_configuration
|
||||
#
|
||||
@ -61,10 +68,10 @@ class Matter_Plugin_Sensor_Contact : Matter_Plugin_Device
|
||||
var state = false
|
||||
state = (j.find("Switch" + str(self.tasmota_switch_index)) == "ON")
|
||||
|
||||
if self.shadow_contact != nil && self.shadow_contact != bool(state)
|
||||
if self.shadow_contact != state
|
||||
self.attribute_updated(0x0045, 0x0000)
|
||||
self.shadow_contact = state
|
||||
end
|
||||
self.shadow_contact = state
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -96,5 +103,30 @@ class Matter_Plugin_Sensor_Contact : Matter_Plugin_Device
|
||||
end
|
||||
end
|
||||
|
||||
#############################################################
|
||||
# update_virtual
|
||||
#
|
||||
# Update internal state for virtual devices
|
||||
def update_virtual(payload_json)
|
||||
var val_onoff = payload_json.find("Contact")
|
||||
if val_onoff != nil
|
||||
val_onoff = bool(val_onoff)
|
||||
if self.shadow_contact != val_onoff
|
||||
self.attribute_updated(0x0045, 0x0000)
|
||||
self.shadow_contact = val_onoff
|
||||
end
|
||||
end
|
||||
super(self).update_virtual(payload_json)
|
||||
end
|
||||
|
||||
#############################################################
|
||||
# append_state_json
|
||||
#
|
||||
# Output the current state in JSON
|
||||
# New values need to be appended with `,"key":value` (including prefix comma)
|
||||
def append_state_json()
|
||||
return f',"Contact":{int(self.shadow_contact)}'
|
||||
end
|
||||
|
||||
end
|
||||
matter.Plugin_Sensor_Contact = Matter_Plugin_Sensor_Contact
|
||||
|
@ -25,7 +25,9 @@ import matter
|
||||
|
||||
class Matter_Plugin_Sensor_Humidity : Matter_Plugin_Sensor
|
||||
static var TYPE = "humidity" # name of the plug-in in json
|
||||
static var NAME = "Humidity" # display name of the plug-in
|
||||
static var DISPLAY_NAME = "Humidity" # display name of the plug-in
|
||||
static var JSON_NAME = "Humidity" # Name of the sensor attribute in JSON payloads
|
||||
static var UPDATE_COMMANDS = matter.UC_LIST(_class, "Humidity")
|
||||
static var CLUSTERS = matter.consolidate_clusters(_class, {
|
||||
0x0405: [0,1,2,0xFFFC,0xFFFD], # Humidity Measurement p.102 - no writable
|
||||
})
|
||||
@ -45,7 +47,7 @@ class Matter_Plugin_Sensor_Humidity : Matter_Plugin_Sensor
|
||||
#
|
||||
# This must be overriden.
|
||||
# This is where you call `self.attribute_updated(<cluster>, <attribute>)`
|
||||
def value_changed(val)
|
||||
def value_changed()
|
||||
self.attribute_updated(0x0405, 0x0000)
|
||||
end
|
||||
|
||||
@ -80,14 +82,5 @@ class Matter_Plugin_Sensor_Humidity : Matter_Plugin_Sensor
|
||||
end
|
||||
end
|
||||
|
||||
#############################################################
|
||||
# append_state_json
|
||||
#
|
||||
# Output the current state in JSON
|
||||
# New values need to be appended with `,"key":value` (including prefix comma)
|
||||
def append_state_json()
|
||||
return f',"Humidity":{self.shadow_value}'
|
||||
end
|
||||
|
||||
end
|
||||
matter.Plugin_Sensor_Humidity = Matter_Plugin_Sensor_Humidity
|
||||
|
@ -25,7 +25,9 @@ import matter
|
||||
|
||||
class Matter_Plugin_Sensor_Illuminance : Matter_Plugin_Sensor
|
||||
static var TYPE = "illuminance" # name of the plug-in in json
|
||||
static var NAME = "Illuminance" # display name of the plug-in
|
||||
static var DISPLAY_NAME = "Illuminance" # display name of the plug-in
|
||||
static var JSON_NAME = "Illuminance" # Name of the sensor attribute in JSON payloads
|
||||
static var UPDATE_COMMANDS = matter.UC_LIST(_class, "Illuminance")
|
||||
static var CLUSTERS = matter.consolidate_clusters(_class, {
|
||||
0x0400: [0,1,2,0xFFFC,0xFFFD], # Illuminance Measurement p.95 - no writable
|
||||
})
|
||||
@ -52,7 +54,7 @@ class Matter_Plugin_Sensor_Illuminance : Matter_Plugin_Sensor
|
||||
#
|
||||
# This must be overriden.
|
||||
# This is where you call `self.attribute_updated(<cluster>, <attribute>)`
|
||||
def value_changed(val)
|
||||
def value_changed()
|
||||
self.attribute_updated(0x0400, 0x0000)
|
||||
end
|
||||
|
||||
@ -87,14 +89,5 @@ class Matter_Plugin_Sensor_Illuminance : Matter_Plugin_Sensor
|
||||
end
|
||||
end
|
||||
|
||||
#############################################################
|
||||
# append_state_json
|
||||
#
|
||||
# Output the current state in JSON
|
||||
# New values need to be appended with `,"key":value` (including prefix comma)
|
||||
def append_state_json()
|
||||
return f',"Illuminance":{self.shadow_value}'
|
||||
end
|
||||
|
||||
end
|
||||
matter.Plugin_Sensor_Illuminance = Matter_Plugin_Sensor_Illuminance
|
||||
|
@ -25,7 +25,7 @@ import matter
|
||||
|
||||
class Matter_Plugin_Sensor_Occupancy : Matter_Plugin_Device
|
||||
static var TYPE = "occupancy" # name of the plug-in in json
|
||||
static var NAME = "Occupancy" # display name of the plug-in
|
||||
static var DISPLAY_NAME = "Occupancy" # display name of the plug-in
|
||||
static var ARG = "switch" # additional argument name (or empty if none)
|
||||
static var ARG_HINT = "Switch<x> number"
|
||||
static var ARG_TYPE = / x -> int(x) # function to convert argument to the right type
|
||||
@ -38,6 +38,13 @@ class Matter_Plugin_Sensor_Occupancy : Matter_Plugin_Device
|
||||
var tasmota_switch_index # Switch number in Tasmota (one based)
|
||||
var shadow_occupancy
|
||||
|
||||
#############################################################
|
||||
# Constructor
|
||||
def init(device, endpoint, config)
|
||||
super(self).init(device, endpoint, config)
|
||||
self.shadow_occupancy = false
|
||||
end
|
||||
|
||||
#############################################################
|
||||
# parse_configuration
|
||||
#
|
||||
@ -97,5 +104,30 @@ class Matter_Plugin_Sensor_Occupancy : Matter_Plugin_Device
|
||||
end
|
||||
end
|
||||
|
||||
#############################################################
|
||||
# update_virtual
|
||||
#
|
||||
# Update internal state for virtual devices
|
||||
def update_virtual(payload_json)
|
||||
var val_onoff = payload_json.find("Occupancy")
|
||||
if val_onoff != nil
|
||||
val_onoff = bool(val_onoff)
|
||||
if self.shadow_occupancy != val_onoff
|
||||
self.attribute_updated(0x0406, 0x0000)
|
||||
self.shadow_occupancy = val_onoff
|
||||
end
|
||||
end
|
||||
super(self).update_virtual(payload_json)
|
||||
end
|
||||
|
||||
#############################################################
|
||||
# append_state_json
|
||||
#
|
||||
# Output the current state in JSON
|
||||
# New values need to be appended with `,"key":value` (including prefix comma)
|
||||
def append_state_json()
|
||||
return f',"Occupancy":{int(self.shadow_occupancy)}'
|
||||
end
|
||||
|
||||
end
|
||||
matter.Plugin_Sensor_Occupancy = Matter_Plugin_Sensor_Occupancy
|
||||
|
@ -23,7 +23,7 @@
|
||||
|
||||
class Matter_Plugin_Sensor_OnOff : Matter_Plugin_Device
|
||||
static var TYPE = "onoff" # name of the plug-in in json
|
||||
static var NAME = "OnOff Sensor" # display name of the plug-in
|
||||
static var DISPLAY_NAME = "OnOff Sensor" # display name of the plug-in
|
||||
static var ARG = "switch" # additional argument name (or empty if none)
|
||||
static var ARG_HINT = "Switch<x> number"
|
||||
static var ARG_TYPE = / x -> int(x) # function to convert argument to the right type
|
||||
|
@ -25,7 +25,9 @@ import matter
|
||||
|
||||
class Matter_Plugin_Sensor_Pressure : Matter_Plugin_Sensor
|
||||
static var TYPE = "pressure" # name of the plug-in in json
|
||||
static var NAME = "Pressure" # display name of the plug-in
|
||||
static var DISPLAY_NAME = "Pressure" # display name of the plug-in
|
||||
static var JSON_NAME = "Pressure" # Name of the sensor attribute in JSON payloads
|
||||
static var UPDATE_COMMANDS = matter.UC_LIST(_class, "Pressure")
|
||||
static var CLUSTERS = matter.consolidate_clusters(_class, {
|
||||
0x0403: [0,1,2,0xFFFC,0xFFFD], # Pressure Measurement
|
||||
})
|
||||
@ -45,7 +47,7 @@ class Matter_Plugin_Sensor_Pressure : Matter_Plugin_Sensor
|
||||
#
|
||||
# This must be overriden.
|
||||
# This is where you call `self.attribute_updated(<cluster>, <attribute>)`
|
||||
def value_changed(val)
|
||||
def value_changed()
|
||||
self.attribute_updated(0x0403, 0x0000)
|
||||
end
|
||||
|
||||
@ -80,14 +82,5 @@ class Matter_Plugin_Sensor_Pressure : Matter_Plugin_Sensor
|
||||
end
|
||||
end
|
||||
|
||||
#############################################################
|
||||
# append_state_json
|
||||
#
|
||||
# Output the current state in JSON
|
||||
# New values need to be appended with `,"key":value` (including prefix comma)
|
||||
def append_state_json()
|
||||
return f',"Pressure":{self.shadow_value}'
|
||||
end
|
||||
|
||||
end
|
||||
matter.Plugin_Sensor_Pressure = Matter_Plugin_Sensor_Pressure
|
||||
|
@ -25,7 +25,9 @@ import matter
|
||||
|
||||
class Matter_Plugin_Sensor_Temp : Matter_Plugin_Sensor
|
||||
static var TYPE = "temperature" # name of the plug-in in json
|
||||
static var NAME = "Temperature" # display name of the plug-in
|
||||
static var DISPLAY_NAME = "Temperature" # display name of the plug-in
|
||||
static var JSON_NAME = "Temperature" # Name of the sensor attribute in JSON payloads
|
||||
static var UPDATE_COMMANDS = matter.UC_LIST(_class, "Temperature")
|
||||
static var CLUSTERS = matter.consolidate_clusters(_class, {
|
||||
0x0402: [0,1,2,0xFFFC,0xFFFD], # Temperature Measurement p.97 - no writable
|
||||
})
|
||||
@ -48,7 +50,7 @@ class Matter_Plugin_Sensor_Temp : Matter_Plugin_Sensor
|
||||
#
|
||||
# This must be overriden.
|
||||
# This is where you call `self.attribute_updated(<cluster>, <attribute>)`
|
||||
def value_changed(val)
|
||||
def value_changed()
|
||||
self.attribute_updated(0x0402, 0x0000)
|
||||
end
|
||||
|
||||
@ -83,14 +85,5 @@ class Matter_Plugin_Sensor_Temp : Matter_Plugin_Sensor
|
||||
end
|
||||
end
|
||||
|
||||
#############################################################
|
||||
# append_state_json
|
||||
#
|
||||
# Output the current state in JSON
|
||||
# New values need to be appended with `,"key":value` (including prefix comma)
|
||||
def append_state_json()
|
||||
return f',"Temperature":{self.shadow_value}'
|
||||
end
|
||||
|
||||
end
|
||||
matter.Plugin_Sensor_Temp = Matter_Plugin_Sensor_Temp
|
||||
|
@ -25,7 +25,7 @@ import matter
|
||||
|
||||
class Matter_Plugin_ShutterTilt : Matter_Plugin_Shutter
|
||||
static var TYPE = "shutter+tilt" # name of the plug-in in json
|
||||
static var NAME = "Shutter + Tilt" # display name of the plug-in
|
||||
static var DISPLAY_NAME = "Shutter + Tilt" # display name of the plug-in
|
||||
# inherited static var ARG = "shutter" # additional argument name (or empty if none)
|
||||
# inherited static var ARG_TYPE = / x -> int(x) # function to convert argument to the right type
|
||||
static var CLUSTERS = matter.consolidate_clusters(_class, {
|
||||
|
@ -25,7 +25,7 @@ import matter
|
||||
|
||||
class Matter_Plugin_Bridge_Light1 : Matter_Plugin_Bridge_Light0
|
||||
static var TYPE = "http_light1" # name of the plug-in in json
|
||||
static var NAME = "Light 1 Dimmer" # display name of the plug-in
|
||||
static var DISPLAY_NAME = "Light 1 Dimmer" # display name of the plug-in
|
||||
# static var ARG = "relay" # additional argument name (or empty if none)
|
||||
# static var ARG_TYPE = / x -> int(x) # function to convert argument to the right type
|
||||
static var CLUSTERS = matter.consolidate_clusters(_class, {
|
||||
|
@ -25,7 +25,7 @@ import matter
|
||||
|
||||
class Matter_Plugin_Bridge_OnOff : Matter_Plugin_Bridge_Light0
|
||||
static var TYPE = "http_relay" # name of the plug-in in json
|
||||
static var NAME = "Relay" # display name of the plug-in
|
||||
static var DISPLAY_NAME = "Relay" # display name of the plug-in
|
||||
static var ARG_HINT = "Relay<x> number"
|
||||
static var TYPES = { 0x010A: 2 } # On/Off Plug-in Unit
|
||||
|
||||
|
@ -25,7 +25,7 @@ import matter
|
||||
|
||||
class Matter_Plugin_Bridge_Sensor_Contact : Matter_Plugin_Bridge_HTTP
|
||||
static var TYPE = "http_contact" # name of the plug-in in json
|
||||
static var NAME = "Contact" # display name of the plug-in
|
||||
static var DISPLAY_NAME = "Contact" # display name of the plug-in
|
||||
static var ARG = "switch" # additional argument name (or empty if none)
|
||||
static var ARG_HINT = "Switch<x> number"
|
||||
static var ARG_TYPE = / x -> int(x) # function to convert argument to the right type
|
||||
|
@ -25,7 +25,7 @@ import matter
|
||||
|
||||
class Matter_Plugin_Bridge_Sensor_Humidity : Matter_Plugin_Bridge_Sensor
|
||||
static var TYPE = "http_humidity" # name of the plug-in in json
|
||||
static var NAME = "Humidity" # display name of the plug-in
|
||||
static var DISPLAY_NAME = "Humidity" # display name of the plug-in
|
||||
|
||||
static var CLUSTERS = matter.consolidate_clusters(_class, {
|
||||
0x0405: [0,1,2,0xFFFC,0xFFFD], # Humidity Measurement p.102 - no writable
|
||||
@ -37,7 +37,7 @@ class Matter_Plugin_Bridge_Sensor_Humidity : Matter_Plugin_Bridge_Sensor
|
||||
#
|
||||
# This must be overriden.
|
||||
# This is where you call `self.attribute_updated(<cluster>, <attribute>)`
|
||||
def value_changed(val)
|
||||
def value_changed()
|
||||
self.attribute_updated(0x0405, 0x0000)
|
||||
end
|
||||
|
||||
|
@ -25,7 +25,7 @@ import matter
|
||||
|
||||
class Matter_Plugin_Bridge_Sensor_Illuminance : Matter_Plugin_Bridge_Sensor
|
||||
static var TYPE = "http_illuminance" # name of the plug-in in json
|
||||
static var NAME = "Illuminance" # display name of the plug-in
|
||||
static var DISPLAY_NAME = "Illuminance" # display name of the plug-in
|
||||
|
||||
static var CLUSTERS = matter.consolidate_clusters(_class, {
|
||||
0x0400: [0,1,2,0xFFFC,0xFFFD], # Illuminance Measurement p.95 - no writable
|
||||
@ -37,7 +37,7 @@ class Matter_Plugin_Bridge_Sensor_Illuminance : Matter_Plugin_Bridge_Sensor
|
||||
#
|
||||
# This must be overriden.
|
||||
# This is where you call `self.attribute_updated(<cluster>, <attribute>)`
|
||||
def value_changed(val)
|
||||
def value_changed()
|
||||
self.attribute_updated(0x0400, 0x0000)
|
||||
end
|
||||
|
||||
|
@ -25,7 +25,7 @@ import matter
|
||||
|
||||
class Matter_Plugin_Bridge_Sensor_Occupancy : Matter_Plugin_Bridge_HTTP
|
||||
static var TYPE = "http_occupancy" # name of the plug-in in json
|
||||
static var NAME = "Occupancy" # display name of the plug-in
|
||||
static var DISPLAY_NAME = "Occupancy" # display name of the plug-in
|
||||
static var ARG = "switch" # additional argument name (or empty if none)
|
||||
static var ARG_HINT = "Switch<x> number"
|
||||
static var ARG_TYPE = / x -> int(x) # function to convert argument to the right type
|
||||
|
@ -25,7 +25,7 @@ import matter
|
||||
|
||||
class Matter_Plugin_Bridge_Sensor_Pressure : Matter_Plugin_Bridge_Sensor
|
||||
static var TYPE = "http_pressure" # name of the plug-in in json
|
||||
static var NAME = "Pressure" # display name of the plug-in
|
||||
static var DISPLAY_NAME = "Pressure" # display name of the plug-in
|
||||
|
||||
static var CLUSTERS = matter.consolidate_clusters(_class, {
|
||||
0x0403: [0,1,2,0xFFFC,0xFFFD], # Pressure Measurement
|
||||
@ -37,7 +37,7 @@ class Matter_Plugin_Bridge_Sensor_Pressure : Matter_Plugin_Bridge_Sensor
|
||||
#
|
||||
# This must be overriden.
|
||||
# This is where you call `self.attribute_updated(<cluster>, <attribute>)`
|
||||
def value_changed(val)
|
||||
def value_changed()
|
||||
self.attribute_updated(0x0403, 0x0000)
|
||||
end
|
||||
|
||||
|
@ -25,7 +25,7 @@ import matter
|
||||
|
||||
class Matter_Plugin_Bridge_Sensor_Temp : Matter_Plugin_Bridge_Sensor
|
||||
static var TYPE = "http_temperature" # name of the plug-in in json
|
||||
static var NAME = "Temperature" # display name of the plug-in
|
||||
static var DISPLAY_NAME = "Temperature" # display name of the plug-in
|
||||
|
||||
static var CLUSTERS = matter.consolidate_clusters(_class, {
|
||||
0x0402: [0,1,2,0xFFFC,0xFFFD], # Temperature Measurement p.97 - no writable
|
||||
@ -37,7 +37,7 @@ class Matter_Plugin_Bridge_Sensor_Temp : Matter_Plugin_Bridge_Sensor
|
||||
#
|
||||
# This must be overriden.
|
||||
# This is where you call `self.attribute_updated(<cluster>, <attribute>)`
|
||||
def value_changed(val)
|
||||
def value_changed()
|
||||
self.attribute_updated(0x0402, 0x0000)
|
||||
end
|
||||
|
||||
|
@ -25,7 +25,7 @@ import matter
|
||||
|
||||
class Matter_Plugin_Light2 : Matter_Plugin_Light1
|
||||
static var TYPE = "light2" # name of the plug-in in json
|
||||
static var NAME = "Light 2 CT" # display name of the plug-in
|
||||
static var DISPLAY_NAME = "Light 2 CT" # display name of the plug-in
|
||||
static var CLUSTERS = matter.consolidate_clusters(_class, {
|
||||
# 0x001D: inherited # Descriptor Cluster 9.5 p.453
|
||||
# 0x0003: inherited # Identify 1.2 p.16
|
||||
@ -44,7 +44,6 @@ class Matter_Plugin_Light2 : Matter_Plugin_Light1
|
||||
# var clusters # map from cluster to list of attributes, typically constructed from CLUSTERS hierachy
|
||||
# var tick # tick value when it was last updated
|
||||
# var node_label # name of the endpoint, used only in bridge mode, "" if none
|
||||
# var virtual # (bool) is the device pure virtual (i.e. not related to a device implementation by Tasmota)
|
||||
# var shadow_onoff # (bool) status of the light power on/off
|
||||
# var shadow_bri # (int 0..254) brightness before Gamma correction - as per Matter 255 is not allowed
|
||||
var shadow_ct # (int 153..500, default 325) Color Temperatur in mireds
|
||||
@ -93,7 +92,7 @@ class Matter_Plugin_Light2 : Matter_Plugin_Light1
|
||||
def set_ct(ct)
|
||||
if ct < self.ct_min ct = self.ct_min end
|
||||
if ct > self.ct_max ct = self.ct_max end
|
||||
if !self.virtual
|
||||
if !self.VIRTUAL
|
||||
import light
|
||||
light.set({'ct': ct})
|
||||
self.update_shadow()
|
||||
|
@ -25,7 +25,7 @@ import matter
|
||||
|
||||
class Matter_Plugin_Light3 : Matter_Plugin_Light1
|
||||
static var TYPE = "light3" # name of the plug-in in json
|
||||
static var NAME = "Light 3 RGB" # display name of the plug-in
|
||||
static var DISPLAY_NAME = "Light 3 RGB" # display name of the plug-in
|
||||
static var CLUSTERS = matter.consolidate_clusters(_class, {
|
||||
# 0x001D: inherited # Descriptor Cluster 9.5 p.453
|
||||
# 0x0003: inherited # Identify 1.2 p.16
|
||||
@ -63,7 +63,7 @@ class Matter_Plugin_Light3 : Matter_Plugin_Light1
|
||||
#
|
||||
def update_shadow()
|
||||
super(self).update_shadow()
|
||||
if !self.virtual
|
||||
if !self.VIRTUAL
|
||||
import light
|
||||
var light_status = light.get()
|
||||
if light_status != nil
|
||||
@ -93,7 +93,7 @@ class Matter_Plugin_Light3 : Matter_Plugin_Light1
|
||||
if sat_254 > 254 sat_254 = 254 end
|
||||
end
|
||||
|
||||
if !self.virtual
|
||||
if !self.VIRTUAL
|
||||
var hue_360 = (hue_254 != nil) ? tasmota.scale_uint(hue_254, 0, 254, 0, 360) : nil
|
||||
var sat_255 = (sat_254 != nil) ? tasmota.scale_uint(sat_254, 0, 254, 0, 255) : nil
|
||||
|
||||
|
@ -25,7 +25,7 @@ import matter
|
||||
|
||||
class Matter_Plugin_Bridge_Light2 : Matter_Plugin_Bridge_Light1
|
||||
static var TYPE = "http_light2" # name of the plug-in in json
|
||||
static var NAME = "Light 2 CT" # display name of the plug-in
|
||||
static var DISPLAY_NAME = "Light 2 CT" # display name of the plug-in
|
||||
# static var ARG = "relay" # additional argument name (or empty if none)
|
||||
# static var ARG_TYPE = / x -> int(x) # function to convert argument to the right type
|
||||
static var CLUSTERS = matter.consolidate_clusters(_class, {
|
||||
|
@ -25,7 +25,7 @@ import matter
|
||||
|
||||
class Matter_Plugin_Bridge_Light3 : Matter_Plugin_Bridge_Light1
|
||||
static var TYPE = "http_light3" # name of the plug-in in json
|
||||
static var NAME = "Light 3 RGB" # display name of the plug-in
|
||||
static var DISPLAY_NAME = "Light 3 RGB" # display name of the plug-in
|
||||
# static var ARG = "relay" # additional argument name (or empty if none)
|
||||
# static var ARG_TYPE = / x -> int(x) # function to convert argument to the right type
|
||||
static var CLUSTERS = matter.consolidate_clusters(_class, {
|
||||
|
@ -25,16 +25,10 @@ import matter
|
||||
|
||||
class Matter_Plugin_Virt_Light0 : Matter_Plugin_Light0
|
||||
static var TYPE = "v_light0" # name of the plug-in in json
|
||||
static var NAME = "(v) Light 0 On" # display name of the plug-in
|
||||
static var DISPLAY_NAME = "v.Light 0 On" # display name of the plug-in
|
||||
static var ARG = "" # no arg for virtual device
|
||||
static var ARG_HINT = "_Not used_" # Hint for entering the Argument (inside 'placeholder')
|
||||
|
||||
#############################################################
|
||||
# Constructor
|
||||
def init(device, endpoint, config)
|
||||
super(self).init(device, endpoint, config)
|
||||
self.virtual = true
|
||||
end
|
||||
static var VIRTUAL = true # virtual device
|
||||
|
||||
end
|
||||
matter.Plugin_Virt_Light0 = Matter_Plugin_Virt_Light0
|
||||
|
@ -25,16 +25,10 @@ import matter
|
||||
|
||||
class Matter_Plugin_Virt_Light1 : Matter_Plugin_Light1
|
||||
static var TYPE = "v_light1" # name of the plug-in in json
|
||||
static var NAME = "(v) Light 1 Dimmer" # display name of the plug-in
|
||||
static var DISPLAY_NAME = "v.Light 1 Dimmer" # display name of the plug-in
|
||||
static var ARG = "" # no arg for virtual device
|
||||
static var ARG_HINT = "_Not used_" # Hint for entering the Argument (inside 'placeholder')
|
||||
|
||||
#############################################################
|
||||
# Constructor
|
||||
def init(device, endpoint, config)
|
||||
super(self).init(device, endpoint, config)
|
||||
self.virtual = true
|
||||
end
|
||||
static var VIRTUAL = true # virtual device
|
||||
|
||||
end
|
||||
matter.Plugin_Virt_Light1 = Matter_Plugin_Virt_Light1
|
||||
|
@ -25,16 +25,10 @@ import matter
|
||||
|
||||
class Matter_Plugin_Virt_Light2 : Matter_Plugin_Light2
|
||||
static var TYPE = "v_light2" # name of the plug-in in json
|
||||
static var NAME = "(v) Light 2 CT" # display name of the plug-in
|
||||
static var DISPLAY_NAME = "v.Light 2 CT" # display name of the plug-in
|
||||
static var ARG = "" # no arg for virtual device
|
||||
static var ARG_HINT = "_Not used_" # Hint for entering the Argument (inside 'placeholder')
|
||||
|
||||
#############################################################
|
||||
# Constructor
|
||||
def init(device, endpoint, config)
|
||||
super(self).init(device, endpoint, config)
|
||||
self.virtual = true
|
||||
end
|
||||
static var VIRTUAL = true # virtual device
|
||||
|
||||
end
|
||||
matter.Plugin_Virt_Light2 = Matter_Plugin_Virt_Light2
|
||||
|
@ -25,16 +25,10 @@ import matter
|
||||
|
||||
class Matter_Plugin_Virt_Light3 : Matter_Plugin_Light3
|
||||
static var TYPE = "v_light3" # name of the plug-in in json
|
||||
static var NAME = "(v) Light 3 RGB" # display name of the plug-in
|
||||
static var DISPLAY_NAME = "v.Light 3 RGB" # display name of the plug-in
|
||||
static var ARG = "" # no arg for virtual device
|
||||
static var ARG_HINT = "_Not used_" # Hint for entering the Argument (inside 'placeholder')
|
||||
|
||||
#############################################################
|
||||
# Constructor
|
||||
def init(device, endpoint, config)
|
||||
super(self).init(device, endpoint, config)
|
||||
self.virtual = true
|
||||
end
|
||||
static var VIRTUAL = true # virtual device
|
||||
|
||||
end
|
||||
matter.Plugin_Virt_Light3 = Matter_Plugin_Virt_Light3
|
||||
|
@ -25,16 +25,10 @@ import matter
|
||||
|
||||
class Matter_Plugin_Virt_OnOff : Matter_Plugin_OnOff
|
||||
static var TYPE = "v_relay" # name of the plug-in in json
|
||||
static var NAME = "(v) Relay" # display name of the plug-in
|
||||
static var DISPLAY_NAME = "v.Relay" # display name of the plug-in
|
||||
static var ARG = "" # no arg for virtual device
|
||||
static var ARG_HINT = "_Not used_" # Hint for entering the Argument (inside 'placeholder')
|
||||
|
||||
#############################################################
|
||||
# Constructor
|
||||
def init(device, endpoint, config)
|
||||
super(self).init(device, endpoint, config)
|
||||
self.virtual = true
|
||||
end
|
||||
static var VIRTUAL = true # virtual device
|
||||
|
||||
end
|
||||
matter.Plugin_Virt_OnOff = Matter_Plugin_Virt_OnOff
|
||||
|
@ -0,0 +1,34 @@
|
||||
#
|
||||
# Matter_Plugin_9_Virt_Sensor_Contact.be - implements the behavior for a Virtual Contact Sensor
|
||||
#
|
||||
# Copyright (C) 2023 Stephan Hadinger & Theo Arends
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
import matter
|
||||
|
||||
# Matter plug-in for core behavior
|
||||
|
||||
#@ solidify:Matter_Plugin_Virt_Sensor_Contact,weak
|
||||
|
||||
class Matter_Plugin_Virt_Sensor_Contact : Matter_Plugin_Sensor_Contact
|
||||
static var TYPE = "v_contact" # name of the plug-in in json
|
||||
static var DISPLAY_NAME = "v.Contact" # display name of the plug-in
|
||||
static var ARG = "" # no arg for virtual device
|
||||
static var ARG_HINT = "_Not used_" # Hint for entering the Argument (inside 'placeholder')
|
||||
static var VIRTUAL = true # virtual device
|
||||
|
||||
end
|
||||
matter.Plugin_Virt_Sensor_Contact = Matter_Plugin_Virt_Sensor_Contact
|
@ -0,0 +1,34 @@
|
||||
#
|
||||
# Matter_Plugin_9_Virt_Sensor_Humidity.be - implements the behavior for a Virtual Humidity Sensor
|
||||
#
|
||||
# Copyright (C) 2023 Stephan Hadinger & Theo Arends
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
import matter
|
||||
|
||||
# Matter plug-in for core behavior
|
||||
|
||||
#@ solidify:Matter_Plugin_Virt_Sensor_Humidity,weak
|
||||
|
||||
class Matter_Plugin_Virt_Sensor_Humidity : Matter_Plugin_Sensor_Humidity
|
||||
static var TYPE = "v_humidity" # name of the plug-in in json
|
||||
static var DISPLAY_NAME = "v.Humidity" # display name of the plug-in
|
||||
static var ARG = "" # no arg for virtual device
|
||||
static var ARG_HINT = "_Not used_" # Hint for entering the Argument (inside 'placeholder')
|
||||
static var VIRTUAL = true # virtual device
|
||||
|
||||
end
|
||||
matter.Plugin_Virt_Sensor_Humidity = Matter_Plugin_Virt_Sensor_Humidity
|
@ -0,0 +1,34 @@
|
||||
#
|
||||
# Matter_Plugin_9_Virt_Sensor_Illuminance.be - implements the behavior for a Virtual Illuminance Sensor
|
||||
#
|
||||
# Copyright (C) 2023 Stephan Hadinger & Theo Arends
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
import matter
|
||||
|
||||
# Matter plug-in for core behavior
|
||||
|
||||
#@ solidify:Matter_Plugin_Virt_Sensor_Illuminance,weak
|
||||
|
||||
class Matter_Plugin_Virt_Sensor_Illuminance : Matter_Plugin_Sensor_Illuminance
|
||||
static var TYPE = "v_illuminance" # name of the plug-in in json
|
||||
static var DISPLAY_NAME = "v.Illuminance" # display name of the plug-in
|
||||
static var ARG = "" # no arg for virtual device
|
||||
static var ARG_HINT = "_Not used_" # Hint for entering the Argument (inside 'placeholder')
|
||||
static var VIRTUAL = true # virtual device
|
||||
|
||||
end
|
||||
matter.Plugin_Virt_Sensor_Illuminance = Matter_Plugin_Virt_Sensor_Illuminance
|
@ -0,0 +1,34 @@
|
||||
#
|
||||
# Matter_Plugin_9_Virt_Sensor_Pressure.be - implements the behavior for a Virtual Temperature Sensor
|
||||
#
|
||||
# Copyright (C) 2023 Stephan Hadinger & Theo Arends
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
import matter
|
||||
|
||||
# Matter plug-in for core behavior
|
||||
|
||||
#@ solidify:Matter_Plugin_Virt_Sensor_Pressure,weak
|
||||
|
||||
class Matter_Plugin_Virt_Sensor_Pressure : Matter_Plugin_Sensor_Pressure
|
||||
static var TYPE = "v_pressure" # name of the plug-in in json
|
||||
static var DISPLAY_NAME = "v.Pressure" # display name of the plug-in
|
||||
static var ARG = "" # no arg for virtual device
|
||||
static var ARG_HINT = "_Not used_" # Hint for entering the Argument (inside 'placeholder')
|
||||
static var VIRTUAL = true # virtual device
|
||||
|
||||
end
|
||||
matter.Plugin_Virt_Sensor_Pressure = Matter_Plugin_Virt_Sensor_Pressure
|
@ -0,0 +1,34 @@
|
||||
#
|
||||
# Matter_Plugin_9_Virt_Sensor_Temp.be - implements the behavior for a Virtual Temperature Sensor
|
||||
#
|
||||
# Copyright (C) 2023 Stephan Hadinger & Theo Arends
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
import matter
|
||||
|
||||
# Matter plug-in for core behavior
|
||||
|
||||
#@ solidify:Matter_Plugin_Virt_Sensor_Temp,weak
|
||||
|
||||
class Matter_Plugin_Virt_Sensor_Temp : Matter_Plugin_Sensor_Temp
|
||||
static var TYPE = "v_temp" # name of the plug-in in json
|
||||
static var DISPLAY_NAME = "v.Temperature" # display name of the plug-in
|
||||
static var ARG = "" # no arg for virtual device
|
||||
static var ARG_HINT = "_Not used_" # Hint for entering the Argument (inside 'placeholder')
|
||||
static var VIRTUAL = true # virtual device
|
||||
|
||||
end
|
||||
matter.Plugin_Virt_Sensor_Temp = Matter_Plugin_Virt_Sensor_Temp
|
@ -35,6 +35,7 @@ class Matter_UI
|
||||
static var _CLASSES_TYPES = "|relay|light0|light1|light2|light3|shutter|shutter+tilt"
|
||||
"|temperature|pressure|illuminance|humidity|occupancy|onoff|contact"
|
||||
"|-virtual|v_relay|v_light0|v_light1|v_light2|v_light3"
|
||||
"|v_temp|v_pressure|v_illuminance|v_humidity|v_contact"
|
||||
# static var _CLASSES_HTTP = "-http"
|
||||
static var _CLASSES_TYPES2= "|http_relay|http_light0|http_light1|http_light2|http_light3"
|
||||
"|http_temperature|http_pressure|http_illuminance|http_humidity"
|
||||
|
@ -22,7 +22,7 @@ be_local_closure(Matter_Device_get_plugin_class_displayname, /* name */
|
||||
( &(const bvalue[ 4]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(plugins_classes),
|
||||
/* K1 */ be_nested_str_weak(find),
|
||||
/* K2 */ be_nested_str_weak(NAME),
|
||||
/* K2 */ be_nested_str_weak(DISPLAY_NAME),
|
||||
/* K3 */ be_nested_str_weak(),
|
||||
}),
|
||||
be_str_weak(get_plugin_class_displayname),
|
||||
@ -4764,7 +4764,7 @@ be_local_closure(Matter_Device_MtrUpdate, /* name */
|
||||
/* K9 */ be_nested_str_weak(remove),
|
||||
/* K10 */ be_nested_str_weak(find_plugin_by_friendly_name),
|
||||
/* K11 */ be_nested_str_weak(Invalid_X20Device),
|
||||
/* K12 */ be_nested_str_weak(virtual),
|
||||
/* K12 */ be_nested_str_weak(VIRTUAL),
|
||||
/* K13 */ be_nested_str_weak(Device_X20is_X20not_X20virtual),
|
||||
/* K14 */ be_nested_str_weak(consolidate_update_commands),
|
||||
/* K15 */ be_nested_str_weak(keys),
|
||||
|
@ -49,24 +49,26 @@ be_local_closure(Matter_Plugin_ack_request, /* name */
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: write_attribute
|
||||
** Solidified function: consolidate_clusters
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_write_attribute, /* name */
|
||||
be_local_closure(Matter_Plugin_consolidate_clusters, /* name */
|
||||
be_nested_proto(
|
||||
5, /* nstack */
|
||||
4, /* argc */
|
||||
2, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
0, /* has constants */
|
||||
NULL, /* no const */
|
||||
be_str_weak(write_attribute),
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 1]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(CLUSTERS),
|
||||
}),
|
||||
be_str_weak(consolidate_clusters),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 2]) { /* code */
|
||||
0x4C100000, // 0000 LDNIL R4
|
||||
0x80040800, // 0001 RET 1 R4
|
||||
0x88040100, // 0000 GETMBR R1 R0 K0
|
||||
0x80040200, // 0001 RET 1 R1
|
||||
})
|
||||
)
|
||||
);
|
||||
@ -74,26 +76,29 @@ be_local_closure(Matter_Plugin_write_attribute, /* name */
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: <lambda>
|
||||
** Solidified function: update_shadow
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin__X3Clambda_X3E, /* name */
|
||||
be_local_closure(Matter_Plugin_update_shadow, /* name */
|
||||
be_nested_proto(
|
||||
3, /* nstack */
|
||||
2, /* nstack */
|
||||
1, /* argc */
|
||||
0, /* varg */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
0, /* has constants */
|
||||
NULL, /* no const */
|
||||
be_str_weak(_X3Clambda_X3E),
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 2]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(tick),
|
||||
/* K1 */ be_nested_str_weak(device),
|
||||
}),
|
||||
be_str_weak(update_shadow),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 4]) { /* code */
|
||||
0x60040008, // 0000 GETGBL R1 G8
|
||||
0x5C080000, // 0001 MOVE R2 R0
|
||||
0x7C040200, // 0002 CALL R1 1
|
||||
0x80040200, // 0003 RET 1 R1
|
||||
0x88040101, // 0000 GETMBR R1 R0 K1
|
||||
0x88040300, // 0001 GETMBR R1 R1 K0
|
||||
0x90020001, // 0002 SETMBR R0 K0 R1
|
||||
0x80000000, // 0003 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
@ -413,33 +418,6 @@ be_local_closure(Matter_Plugin_read_attribute, /* name */
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: consolidate_clusters
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_consolidate_clusters, /* name */
|
||||
be_nested_proto(
|
||||
2, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 1]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(CLUSTERS),
|
||||
}),
|
||||
be_str_weak(consolidate_clusters),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 2]) { /* code */
|
||||
0x88040100, // 0000 GETMBR R1 R0 K0
|
||||
0x80040200, // 0001 RET 1 R1
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: timed_request
|
||||
********************************************************************/
|
||||
@ -565,7 +543,7 @@ be_local_closure(Matter_Plugin_init, /* name */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[10]) { /* constants */
|
||||
( &(const bvalue[ 9]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(device),
|
||||
/* K1 */ be_nested_str_weak(endpoint),
|
||||
/* K2 */ be_nested_str_weak(clusters),
|
||||
@ -575,11 +553,10 @@ be_local_closure(Matter_Plugin_init, /* name */
|
||||
/* K6 */ be_nested_str_weak(find),
|
||||
/* K7 */ be_nested_str_weak(name),
|
||||
/* K8 */ be_nested_str_weak(),
|
||||
/* K9 */ be_nested_str_weak(virtual),
|
||||
}),
|
||||
be_str_weak(init),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[16]) { /* code */
|
||||
( &(const binstruction[14]) { /* code */
|
||||
0x90020001, // 0000 SETMBR R0 K0 R1
|
||||
0x90020202, // 0001 SETMBR R0 K1 R2
|
||||
0x8C100103, // 0002 GETMET R4 R0 K3
|
||||
@ -593,9 +570,7 @@ be_local_closure(Matter_Plugin_init, /* name */
|
||||
0x581C0008, // 000A LDCONST R7 K8
|
||||
0x7C100600, // 000B CALL R4 3
|
||||
0x90020A04, // 000C SETMBR R0 K5 R4
|
||||
0x50100000, // 000D LDBOOL R4 0 0
|
||||
0x90021204, // 000E SETMBR R0 K9 R4
|
||||
0x80000000, // 000F RET 0
|
||||
0x80000000, // 000D RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
@ -702,6 +677,33 @@ be_local_closure(Matter_Plugin_ui_string_to_conf, /* name */
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: get_endpoint
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_get_endpoint, /* name */
|
||||
be_nested_proto(
|
||||
2, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 1]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(endpoint),
|
||||
}),
|
||||
be_str_weak(get_endpoint),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 2]) { /* code */
|
||||
0x88040100, // 0000 GETMBR R1 R0 K0
|
||||
0x80040200, // 0001 RET 1 R1
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: get_attribute_list
|
||||
********************************************************************/
|
||||
@ -892,33 +894,6 @@ be_local_closure(Matter_Plugin_subscribe_event, /* name */
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: get_endpoint
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_get_endpoint, /* name */
|
||||
be_nested_proto(
|
||||
2, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 1]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(endpoint),
|
||||
}),
|
||||
be_str_weak(get_endpoint),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 2]) { /* code */
|
||||
0x88040100, // 0000 GETMBR R1 R0 K0
|
||||
0x80040200, // 0001 RET 1 R1
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: has
|
||||
********************************************************************/
|
||||
@ -1075,29 +1050,24 @@ be_local_closure(Matter_Plugin_contains_attribute, /* name */
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: update_shadow
|
||||
** Solidified function: write_attribute
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_update_shadow, /* name */
|
||||
be_local_closure(Matter_Plugin_write_attribute, /* name */
|
||||
be_nested_proto(
|
||||
2, /* nstack */
|
||||
1, /* argc */
|
||||
5, /* nstack */
|
||||
4, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 2]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(tick),
|
||||
/* K1 */ be_nested_str_weak(device),
|
||||
}),
|
||||
be_str_weak(update_shadow),
|
||||
0, /* has constants */
|
||||
NULL, /* no const */
|
||||
be_str_weak(write_attribute),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 4]) { /* code */
|
||||
0x88040101, // 0000 GETMBR R1 R0 K1
|
||||
0x88040300, // 0001 GETMBR R1 R1 K0
|
||||
0x90020001, // 0002 SETMBR R0 K0 R1
|
||||
0x80000000, // 0003 RET 0
|
||||
( &(const binstruction[ 2]) { /* code */
|
||||
0x4C100000, // 0000 LDNIL R4
|
||||
0x80040800, // 0001 RET 1 R4
|
||||
})
|
||||
)
|
||||
);
|
||||
@ -1140,39 +1110,26 @@ be_local_closure(Matter_Plugin_attribute_updated, /* name */
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: ui_conf_to_string
|
||||
** Solidified function: <lambda>
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_ui_conf_to_string, /* name */
|
||||
be_local_closure(Matter_Plugin__X3Clambda_X3E, /* name */
|
||||
be_nested_proto(
|
||||
9, /* nstack */
|
||||
2, /* argc */
|
||||
4, /* varg */
|
||||
3, /* nstack */
|
||||
1, /* argc */
|
||||
0, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 4]) { /* constants */
|
||||
/* K0 */ be_const_class(be_class_Matter_Plugin),
|
||||
/* K1 */ be_nested_str_weak(ARG),
|
||||
/* K2 */ be_nested_str_weak(find),
|
||||
/* K3 */ be_nested_str_weak(),
|
||||
}),
|
||||
be_str_weak(ui_conf_to_string),
|
||||
0, /* has constants */
|
||||
NULL, /* no const */
|
||||
be_str_weak(_X3Clambda_X3E),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[12]) { /* code */
|
||||
0x58080000, // 0000 LDCONST R2 K0
|
||||
0x880C0101, // 0001 GETMBR R3 R0 K1
|
||||
0x780E0006, // 0002 JMPF R3 #000A
|
||||
0x60100008, // 0003 GETGBL R4 G8
|
||||
0x8C140302, // 0004 GETMET R5 R1 K2
|
||||
0x5C1C0600, // 0005 MOVE R7 R3
|
||||
0x58200003, // 0006 LDCONST R8 K3
|
||||
0x7C140600, // 0007 CALL R5 3
|
||||
0x7C100200, // 0008 CALL R4 1
|
||||
0x70020000, // 0009 JMP #000B
|
||||
0x58100003, // 000A LDCONST R4 K3
|
||||
0x80040800, // 000B RET 1 R4
|
||||
( &(const binstruction[ 4]) { /* code */
|
||||
0x60040008, // 0000 GETGBL R1 G8
|
||||
0x5C080000, // 0001 MOVE R2 R0
|
||||
0x7C040200, // 0002 CALL R1 1
|
||||
0x80040200, // 0003 RET 1 R1
|
||||
})
|
||||
)
|
||||
);
|
||||
@ -1249,6 +1206,46 @@ be_local_closure(Matter_Plugin_get_cluster_list, /* name */
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: ui_conf_to_string
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_ui_conf_to_string, /* name */
|
||||
be_nested_proto(
|
||||
9, /* nstack */
|
||||
2, /* argc */
|
||||
4, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 4]) { /* constants */
|
||||
/* K0 */ be_const_class(be_class_Matter_Plugin),
|
||||
/* K1 */ be_nested_str_weak(ARG),
|
||||
/* K2 */ be_nested_str_weak(find),
|
||||
/* K3 */ be_nested_str_weak(),
|
||||
}),
|
||||
be_str_weak(ui_conf_to_string),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[12]) { /* code */
|
||||
0x58080000, // 0000 LDCONST R2 K0
|
||||
0x880C0101, // 0001 GETMBR R3 R0 K1
|
||||
0x780E0006, // 0002 JMPF R3 #000A
|
||||
0x60100008, // 0003 GETGBL R4 G8
|
||||
0x8C140302, // 0004 GETMET R5 R1 K2
|
||||
0x5C1C0600, // 0005 MOVE R7 R3
|
||||
0x58200003, // 0006 LDCONST R8 K3
|
||||
0x7C140600, // 0007 CALL R5 3
|
||||
0x7C100200, // 0008 CALL R4 1
|
||||
0x70020000, // 0009 JMP #000B
|
||||
0x58100003, // 000A LDCONST R4 K3
|
||||
0x80040800, // 000B RET 1 R4
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: contains_cluster
|
||||
********************************************************************/
|
||||
@ -1284,26 +1281,27 @@ be_local_closure(Matter_Plugin_contains_cluster, /* name */
|
||||
** Solidified class: Matter_Plugin
|
||||
********************************************************************/
|
||||
be_local_class(Matter_Plugin,
|
||||
7,
|
||||
6,
|
||||
NULL,
|
||||
be_nested_map(47,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_weak(ack_request, -1), be_const_closure(Matter_Plugin_ack_request_closure) },
|
||||
{ be_const_key_weak(consolidate_update_commands, -1), be_const_closure(Matter_Plugin_consolidate_update_commands_closure) },
|
||||
{ be_const_key_weak(TYPE, -1), be_nested_str_weak() },
|
||||
{ be_const_key_weak(clusters, 2), be_const_var(3) },
|
||||
{ be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) },
|
||||
{ be_const_key_weak(UPDATE_COMMANDS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
|
||||
be_const_list( * be_nested_list(0,
|
||||
( (struct bvalue*) &(const bvalue[]) {
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(set_name, 5), be_const_closure(Matter_Plugin_set_name_closure) },
|
||||
{ be_const_key_weak(endpoint, -1), be_const_var(2) },
|
||||
{ be_const_key_weak(parse_sensors, -1), be_const_closure(Matter_Plugin_parse_sensors_closure) },
|
||||
{ be_const_key_weak(NAME, 10), be_nested_str_weak() },
|
||||
{ be_const_key_weak(ui_conf_to_string, 14), be_const_static_closure(Matter_Plugin_ui_conf_to_string_closure) },
|
||||
{ be_const_key_weak(ui_conf_to_string, 45), be_const_static_closure(Matter_Plugin_ui_conf_to_string_closure) },
|
||||
{ be_const_key_weak(clusters, 27), be_const_var(3) },
|
||||
{ be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) },
|
||||
{ be_const_key_weak(subscribe_attribute, -1), be_const_closure(Matter_Plugin_subscribe_attribute_closure) },
|
||||
{ be_const_key_weak(timed_request, -1), be_const_closure(Matter_Plugin_timed_request_closure) },
|
||||
{ be_const_key_weak(endpoint, -1), be_const_var(2) },
|
||||
{ be_const_key_weak(DISPLAY_NAME, 1), be_nested_str_weak() },
|
||||
{ be_const_key_weak(update_shadow, 2), be_const_closure(Matter_Plugin_update_shadow_closure) },
|
||||
{ be_const_key_weak(ARG_TYPE, -1), be_const_static_closure(Matter_Plugin__X3Clambda_X3E_closure) },
|
||||
{ be_const_key_weak(publish_command, -1), be_const_closure(Matter_Plugin_publish_command_closure) },
|
||||
{ be_const_key_weak(subscribe_attribute, 45), be_const_closure(Matter_Plugin_subscribe_attribute_closure) },
|
||||
{ be_const_key_weak(consolidate_clusters, 5), be_const_closure(Matter_Plugin_consolidate_clusters_closure) },
|
||||
{ be_const_key_weak(set_name, 42), be_const_closure(Matter_Plugin_set_name_closure) },
|
||||
{ be_const_key_weak(write_attribute, 23), be_const_closure(Matter_Plugin_write_attribute_closure) },
|
||||
{ be_const_key_weak(VIRTUAL, 6), be_const_bool(0) },
|
||||
{ be_const_key_weak(node_label, 34), be_const_var(5) },
|
||||
{ be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(2,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
@ -1323,38 +1321,37 @@ be_local_class(Matter_Plugin,
|
||||
be_const_int(17),
|
||||
})) ) } )) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(update_shadow, 1), be_const_closure(Matter_Plugin_update_shadow_closure) },
|
||||
{ be_const_key_weak(timed_request, -1), be_const_closure(Matter_Plugin_timed_request_closure) },
|
||||
{ be_const_key_weak(node_label, 23), be_const_var(5) },
|
||||
{ be_const_key_weak(update_shadow_lazy, -1), be_const_closure(Matter_Plugin_update_shadow_lazy_closure) },
|
||||
{ be_const_key_weak(update_next, 40), be_const_var(0) },
|
||||
{ be_const_key_weak(invoke_request, -1), be_const_closure(Matter_Plugin_invoke_request_closure) },
|
||||
{ be_const_key_weak(ui_string_to_conf, -1), be_const_static_closure(Matter_Plugin_ui_string_to_conf_closure) },
|
||||
{ be_const_key_weak(update_next, 42), be_const_var(0) },
|
||||
{ be_const_key_weak(ARG, 13), be_nested_str_weak() },
|
||||
{ be_const_key_weak(init, -1), be_const_closure(Matter_Plugin_init_closure) },
|
||||
{ be_const_key_weak(write_attribute, 27), be_const_closure(Matter_Plugin_write_attribute_closure) },
|
||||
{ be_const_key_weak(get_attribute_list, -1), be_const_closure(Matter_Plugin_get_attribute_list_closure) },
|
||||
{ be_const_key_weak(get_name, 17), be_const_closure(Matter_Plugin_get_name_closure) },
|
||||
{ be_const_key_weak(ARG_TYPE, 18), be_const_static_closure(Matter_Plugin__X3Clambda_X3E_closure) },
|
||||
{ be_const_key_weak(tick, 40), be_const_var(4) },
|
||||
{ be_const_key_weak(get_endpoint, 20), be_const_closure(Matter_Plugin_get_endpoint_closure) },
|
||||
{ be_const_key_weak(ARG, 14), be_nested_str_weak() },
|
||||
{ be_const_key_weak(get_endpoint, 17), be_const_closure(Matter_Plugin_get_endpoint_closure) },
|
||||
{ be_const_key_weak(get_name, 20), be_const_closure(Matter_Plugin_get_name_closure) },
|
||||
{ be_const_key_weak(ui_string_to_conf, 10), be_const_static_closure(Matter_Plugin_ui_string_to_conf_closure) },
|
||||
{ be_const_key_weak(tick, 18), be_const_var(4) },
|
||||
{ be_const_key_weak(TYPE, -1), be_nested_str_weak() },
|
||||
{ be_const_key_weak(append_state_json, -1), be_const_closure(Matter_Plugin_append_state_json_closure) },
|
||||
{ be_const_key_weak(read_event, -1), be_const_closure(Matter_Plugin_read_event_closure) },
|
||||
{ be_const_key_weak(device, -1), be_const_var(1) },
|
||||
{ be_const_key_weak(parse_configuration, -1), be_const_closure(Matter_Plugin_parse_configuration_closure) },
|
||||
{ be_const_key_weak(state_json, -1), be_const_closure(Matter_Plugin_state_json_closure) },
|
||||
{ be_const_key_weak(virtual, 34), be_const_var(6) },
|
||||
{ be_const_key_weak(subscribe_event, -1), be_const_closure(Matter_Plugin_subscribe_event_closure) },
|
||||
{ be_const_key_weak(get_attribute_list, -1), be_const_closure(Matter_Plugin_get_attribute_list_closure) },
|
||||
{ be_const_key_weak(read_attribute, 26), be_const_closure(Matter_Plugin_read_attribute_closure) },
|
||||
{ be_const_key_weak(has, -1), be_const_closure(Matter_Plugin_has_closure) },
|
||||
{ be_const_key_weak(UPDATE_TIME, -1), be_const_int(5000) },
|
||||
{ be_const_key_weak(every_250ms, -1), be_const_closure(Matter_Plugin_every_250ms_closure) },
|
||||
{ be_const_key_weak(contains_attribute, -1), be_const_closure(Matter_Plugin_contains_attribute_closure) },
|
||||
{ be_const_key_weak(update_shadow_lazy, -1), be_const_closure(Matter_Plugin_update_shadow_lazy_closure) },
|
||||
{ be_const_key_weak(is_local_device, 13), be_const_closure(Matter_Plugin_is_local_device_closure) },
|
||||
{ be_const_key_weak(attribute_updated, -1), be_const_closure(Matter_Plugin_attribute_updated_closure) },
|
||||
{ be_const_key_weak(is_local_device, 6), be_const_closure(Matter_Plugin_is_local_device_closure) },
|
||||
{ be_const_key_weak(UPDATE_COMMANDS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
|
||||
be_const_list( * be_nested_list(0,
|
||||
( (struct bvalue*) &(const bvalue[]) {
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(update_virtual, -1), be_const_closure(Matter_Plugin_update_virtual_closure) },
|
||||
{ be_const_key_weak(get_cluster_list, -1), be_const_closure(Matter_Plugin_get_cluster_list_closure) },
|
||||
{ be_const_key_weak(consolidate_clusters, -1), be_const_closure(Matter_Plugin_consolidate_clusters_closure) },
|
||||
{ be_const_key_weak(consolidate_update_commands, -1), be_const_closure(Matter_Plugin_consolidate_update_commands_closure) },
|
||||
{ be_const_key_weak(contains_cluster, -1), be_const_closure(Matter_Plugin_contains_cluster_closure) },
|
||||
})),
|
||||
be_str_weak(Matter_Plugin)
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -106,14 +106,14 @@ be_local_class(Matter_Plugin_Aggregator,
|
||||
&be_class_Matter_Plugin,
|
||||
be_nested_map(4,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_weak(NAME, 3), be_nested_str_weak(Aggregator) },
|
||||
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(aggregator) },
|
||||
{ be_const_key_weak(TYPES, 0), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
{ be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(1,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(14, -1), be_const_int(1) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_Aggregator_read_attribute_closure) },
|
||||
{ be_const_key_weak(TYPE, 3), be_nested_str_weak(aggregator) },
|
||||
{ be_const_key_weak(read_attribute, 0), be_const_closure(Matter_Plugin_Aggregator_read_attribute_closure) },
|
||||
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Aggregator) },
|
||||
})),
|
||||
be_str_weak(Matter_Plugin_Aggregator)
|
||||
);
|
||||
|
@ -226,45 +226,6 @@ void be_load_GetOptionReader_class(bvm *vm) {
|
||||
|
||||
extern const bclass be_class_Matter_Plugin_Bridge_HTTP;
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: web_values
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_HTTP_web_values, /* name */
|
||||
be_nested_proto(
|
||||
5, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 6]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(webserver),
|
||||
/* K1 */ be_nested_str_weak(web_values_prefix),
|
||||
/* K2 */ be_nested_str_weak(content_send),
|
||||
/* K3 */ be_nested_str_weak(_X26lt_X3B_X2D_X2D_X20_X28),
|
||||
/* K4 */ be_nested_str_weak(NAME),
|
||||
/* K5 */ be_nested_str_weak(_X29_X20_X2D_X2D_X26gt_X3B),
|
||||
}),
|
||||
be_str_weak(web_values),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 9]) { /* code */
|
||||
0xA4060000, // 0000 IMPORT R1 K0
|
||||
0x8C080101, // 0001 GETMET R2 R0 K1
|
||||
0x7C080200, // 0002 CALL R2 1
|
||||
0x8C080302, // 0003 GETMET R2 R1 K2
|
||||
0x88100104, // 0004 GETMBR R4 R0 K4
|
||||
0x00120604, // 0005 ADD R4 K3 R4
|
||||
0x00100905, // 0006 ADD R4 R4 K5
|
||||
0x7C080400, // 0007 CALL R2 2
|
||||
0x80000000, // 0008 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: call_remote_sync
|
||||
********************************************************************/
|
||||
@ -382,49 +343,6 @@ be_local_closure(Matter_Plugin_Bridge_HTTP_web_value_onoff, /* name */
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: update_shadow
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_HTTP_update_shadow, /* name */
|
||||
be_nested_proto(
|
||||
7, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 6]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(tick),
|
||||
/* K1 */ be_nested_str_weak(device),
|
||||
/* K2 */ be_nested_str_weak(call_remote_sync),
|
||||
/* K3 */ be_nested_str_weak(UPDATE_CMD),
|
||||
/* K4 */ be_nested_str_weak(parse_http_response),
|
||||
/* K5 */ be_const_int(1),
|
||||
}),
|
||||
be_str_weak(update_shadow),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[13]) { /* code */
|
||||
0x88040101, // 0000 GETMBR R1 R0 K1
|
||||
0x88040300, // 0001 GETMBR R1 R1 K0
|
||||
0x90020001, // 0002 SETMBR R0 K0 R1
|
||||
0x8C040102, // 0003 GETMET R1 R0 K2
|
||||
0x880C0103, // 0004 GETMBR R3 R0 K3
|
||||
0x7C040400, // 0005 CALL R1 2
|
||||
0x78060004, // 0006 JMPF R1 #000C
|
||||
0x8C080104, // 0007 GETMET R2 R0 K4
|
||||
0x58100005, // 0008 LDCONST R4 K5
|
||||
0x5C140200, // 0009 MOVE R5 R1
|
||||
0x88180103, // 000A GETMBR R6 R0 K3
|
||||
0x7C080800, // 000B CALL R2 4
|
||||
0x80000000, // 000C RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: parse_http_response
|
||||
********************************************************************/
|
||||
@ -500,6 +418,45 @@ be_local_closure(Matter_Plugin_Bridge_HTTP_parse_http_response, /* name */
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: web_values
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_HTTP_web_values, /* name */
|
||||
be_nested_proto(
|
||||
5, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 6]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(webserver),
|
||||
/* K1 */ be_nested_str_weak(web_values_prefix),
|
||||
/* K2 */ be_nested_str_weak(content_send),
|
||||
/* K3 */ be_nested_str_weak(_X26lt_X3B_X2D_X2D_X20_X28),
|
||||
/* K4 */ be_nested_str_weak(DISPLAY_NAME),
|
||||
/* K5 */ be_nested_str_weak(_X29_X20_X2D_X2D_X26gt_X3B),
|
||||
}),
|
||||
be_str_weak(web_values),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 9]) { /* code */
|
||||
0xA4060000, // 0000 IMPORT R1 K0
|
||||
0x8C080101, // 0001 GETMET R2 R0 K1
|
||||
0x7C080200, // 0002 CALL R2 1
|
||||
0x8C080302, // 0003 GETMET R2 R1 K2
|
||||
0x88100104, // 0004 GETMBR R4 R0 K4
|
||||
0x00120604, // 0005 ADD R4 K3 R4
|
||||
0x00100905, // 0006 ADD R4 R4 K5
|
||||
0x7C080400, // 0007 CALL R2 2
|
||||
0x80000000, // 0008 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: is_local_device
|
||||
********************************************************************/
|
||||
@ -577,6 +534,30 @@ be_local_closure(Matter_Plugin_Bridge_HTTP_init, /* name */
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: parse_update
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_HTTP_parse_update, /* name */
|
||||
be_nested_proto(
|
||||
3, /* nstack */
|
||||
3, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
0, /* has constants */
|
||||
NULL, /* no const */
|
||||
be_str_weak(parse_update),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 1]) { /* code */
|
||||
0x80000000, // 0000 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: read_attribute
|
||||
********************************************************************/
|
||||
@ -782,30 +763,6 @@ be_local_closure(Matter_Plugin_Bridge_HTTP_web_values_prefix, /* name */
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: parse_update
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_HTTP_parse_update, /* name */
|
||||
be_nested_proto(
|
||||
3, /* nstack */
|
||||
3, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
0, /* has constants */
|
||||
NULL, /* no const */
|
||||
be_str_weak(parse_update),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 1]) { /* code */
|
||||
0x80000000, // 0000 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: register_cmd_cb
|
||||
********************************************************************/
|
||||
@ -869,6 +826,49 @@ be_local_closure(Matter_Plugin_Bridge_HTTP_register_cmd_cb, /* name */
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: update_shadow
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_HTTP_update_shadow, /* name */
|
||||
be_nested_proto(
|
||||
7, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 6]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(tick),
|
||||
/* K1 */ be_nested_str_weak(device),
|
||||
/* K2 */ be_nested_str_weak(call_remote_sync),
|
||||
/* K3 */ be_nested_str_weak(UPDATE_CMD),
|
||||
/* K4 */ be_nested_str_weak(parse_http_response),
|
||||
/* K5 */ be_const_int(1),
|
||||
}),
|
||||
be_str_weak(update_shadow),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[13]) { /* code */
|
||||
0x88040101, // 0000 GETMBR R1 R0 K1
|
||||
0x88040300, // 0001 GETMBR R1 R1 K0
|
||||
0x90020001, // 0002 SETMBR R0 K0 R1
|
||||
0x8C040102, // 0003 GETMET R1 R0 K2
|
||||
0x880C0103, // 0004 GETMBR R3 R0 K3
|
||||
0x7C040400, // 0005 CALL R1 2
|
||||
0x78060004, // 0006 JMPF R1 #000C
|
||||
0x8C080104, // 0007 GETMET R2 R0 K4
|
||||
0x58100005, // 0008 LDCONST R4 K5
|
||||
0x5C140200, // 0009 MOVE R5 R1
|
||||
0x88180103, // 000A GETMBR R6 R0 K3
|
||||
0x7C080800, // 000B CALL R2 4
|
||||
0x80000000, // 000C RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: every_250ms
|
||||
********************************************************************/
|
||||
@ -911,26 +911,26 @@ be_local_class(Matter_Plugin_Bridge_HTTP,
|
||||
{ be_const_key_weak(UPDATE_CMD, -1), be_nested_str_weak(Status_X2011) },
|
||||
{ be_const_key_weak(every_250ms, -1), be_const_closure(Matter_Plugin_Bridge_HTTP_every_250ms_closure) },
|
||||
{ be_const_key_weak(ARG, -1), be_nested_str_weak() },
|
||||
{ be_const_key_weak(call_remote_sync, 5), be_const_closure(Matter_Plugin_Bridge_HTTP_call_remote_sync_closure) },
|
||||
{ be_const_key_weak(call_remote_sync, 22), be_const_closure(Matter_Plugin_Bridge_HTTP_call_remote_sync_closure) },
|
||||
{ be_const_key_weak(web_value_onoff, -1), be_const_closure(Matter_Plugin_Bridge_HTTP_web_value_onoff_closure) },
|
||||
{ be_const_key_weak(TYPE, -1), be_nested_str_weak() },
|
||||
{ be_const_key_weak(update_shadow, -1), be_const_closure(Matter_Plugin_Bridge_HTTP_update_shadow_closure) },
|
||||
{ be_const_key_weak(UPDATE_TIME, -1), be_const_int(3000) },
|
||||
{ be_const_key_weak(update_shadow, 22), be_const_closure(Matter_Plugin_Bridge_HTTP_update_shadow_closure) },
|
||||
{ be_const_key_weak(web_values, 21), be_const_closure(Matter_Plugin_Bridge_HTTP_web_values_closure) },
|
||||
{ be_const_key_weak(PREFIX, -1), be_nested_str_weak(_X7C_X20_X3Ci_X3E_X25s_X3C_X2Fi_X3E_X20) },
|
||||
{ be_const_key_weak(SYNC_TIMEOUT, 19), be_const_int(500) },
|
||||
{ be_const_key_weak(GetOptionReader, 5), be_const_class(be_class_GetOptionReader) },
|
||||
{ be_const_key_weak(parse_http_response, 21), be_const_closure(Matter_Plugin_Bridge_HTTP_parse_http_response_closure) },
|
||||
{ be_const_key_weak(parse_update, -1), be_const_closure(Matter_Plugin_Bridge_HTTP_parse_update_closure) },
|
||||
{ be_const_key_weak(SYNC_TIMEOUT, 18), be_const_int(500) },
|
||||
{ be_const_key_weak(is_local_device, -1), be_const_closure(Matter_Plugin_Bridge_HTTP_is_local_device_closure) },
|
||||
{ be_const_key_weak(PROBE_TIMEOUT, 18), be_const_int(1700) },
|
||||
{ be_const_key_weak(PREFIX, 17), be_nested_str_weak(_X7C_X20_X3Ci_X3E_X25s_X3C_X2Fi_X3E_X20) },
|
||||
{ be_const_key_weak(http_remote, 1), be_const_var(0) },
|
||||
{ be_const_key_weak(init, -1), be_const_closure(Matter_Plugin_Bridge_HTTP_init_closure) },
|
||||
{ be_const_key_weak(ARG_HTTP, -1), be_nested_str_weak(url) },
|
||||
{ be_const_key_weak(NAME, 17), be_nested_str_weak() },
|
||||
{ be_const_key_weak(parse_update, -1), be_const_closure(Matter_Plugin_Bridge_HTTP_parse_update_closure) },
|
||||
{ be_const_key_weak(web_values_prefix, 9), be_const_closure(Matter_Plugin_Bridge_HTTP_web_values_prefix_closure) },
|
||||
{ be_const_key_weak(DISPLAY_NAME, 9), be_nested_str_weak() },
|
||||
{ be_const_key_weak(web_values_prefix, 19), be_const_closure(Matter_Plugin_Bridge_HTTP_web_values_prefix_closure) },
|
||||
{ be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_Bridge_HTTP_read_attribute_closure) },
|
||||
{ be_const_key_weak(PROBE_TIMEOUT, -1), be_const_int(1700) },
|
||||
{ be_const_key_weak(register_cmd_cb, -1), be_const_closure(Matter_Plugin_Bridge_HTTP_register_cmd_cb_closure) },
|
||||
{ be_const_key_weak(parse_http_response, -1), be_const_closure(Matter_Plugin_Bridge_HTTP_parse_http_response_closure) },
|
||||
{ be_const_key_weak(GetOptionReader, -1), be_const_class(be_class_GetOptionReader) },
|
||||
{ be_const_key_weak(web_values, -1), be_const_closure(Matter_Plugin_Bridge_HTTP_web_values_closure) },
|
||||
{ be_const_key_weak(TYPE, -1), be_nested_str_weak() },
|
||||
})),
|
||||
be_str_weak(Matter_Plugin_Bridge_HTTP)
|
||||
);
|
||||
|
@ -100,7 +100,7 @@ be_local_closure(Matter_Plugin_Light0_set_onoff, /* name */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 8]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(virtual),
|
||||
/* K0 */ be_nested_str_weak(VIRTUAL),
|
||||
/* K1 */ be_nested_str_weak(light),
|
||||
/* K2 */ be_nested_str_weak(set),
|
||||
/* K3 */ be_nested_str_weak(power),
|
||||
@ -235,7 +235,7 @@ be_local_closure(Matter_Plugin_Light0_update_shadow, /* name */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 9]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(virtual),
|
||||
/* K0 */ be_nested_str_weak(VIRTUAL),
|
||||
/* K1 */ be_nested_str_weak(light),
|
||||
/* K2 */ be_nested_str_weak(get),
|
||||
/* K3 */ be_nested_str_weak(find),
|
||||
@ -417,7 +417,7 @@ be_local_class(Matter_Plugin_Light0,
|
||||
&be_class_Matter_Plugin_Device,
|
||||
be_nested_map(14,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_weak(read_attribute, 11), be_const_closure(Matter_Plugin_Light0_read_attribute_closure) },
|
||||
{ be_const_key_weak(read_attribute, 9), be_const_closure(Matter_Plugin_Light0_read_attribute_closure) },
|
||||
{ be_const_key_weak(UPDATE_TIME, 4), be_const_int(250) },
|
||||
{ be_const_key_weak(update_virtual, 1), be_const_closure(Matter_Plugin_Light0_update_virtual_closure) },
|
||||
{ be_const_key_weak(UPDATE_COMMANDS, 13), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
|
||||
@ -426,16 +426,10 @@ be_local_class(Matter_Plugin_Light0,
|
||||
be_nested_str_weak(Power),
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(find_val_i, -1), be_const_static_closure(Matter_Plugin_Light0_find_val_i_closure) },
|
||||
{ be_const_key_weak(init, -1), be_const_closure(Matter_Plugin_Light0_init_closure) },
|
||||
{ be_const_key_weak(init, 11), be_const_closure(Matter_Plugin_Light0_init_closure) },
|
||||
{ be_const_key_weak(set_onoff, 12), be_const_closure(Matter_Plugin_Light0_set_onoff_closure) },
|
||||
{ be_const_key_weak(update_shadow, 9), be_const_closure(Matter_Plugin_Light0_update_shadow_closure) },
|
||||
{ be_const_key_weak(NAME, -1), be_nested_str_weak(Light_X200_X20On) },
|
||||
{ be_const_key_weak(update_shadow, 8), be_const_closure(Matter_Plugin_Light0_update_shadow_closure) },
|
||||
{ be_const_key_weak(invoke_request, -1), be_const_closure(Matter_Plugin_Light0_invoke_request_closure) },
|
||||
{ be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(1,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(256, -1), be_const_int(2) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(6,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
@ -495,6 +489,12 @@ be_local_class(Matter_Plugin_Light0,
|
||||
be_const_int(65533),
|
||||
})) ) } )) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(1,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(256, -1), be_const_int(2) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Light_X200_X20On) },
|
||||
{ be_const_key_weak(shadow_onoff, -1), be_const_var(0) },
|
||||
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(light0) },
|
||||
})),
|
||||
|
@ -20,7 +20,7 @@ be_local_closure(Matter_Plugin_OnOff_set_onoff, /* name */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 9]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(virtual),
|
||||
/* K0 */ be_nested_str_weak(VIRTUAL),
|
||||
/* K1 */ be_nested_str_weak(tasmota),
|
||||
/* K2 */ be_nested_str_weak(set_power),
|
||||
/* K3 */ be_nested_str_weak(tasmota_relay_index),
|
||||
@ -116,7 +116,7 @@ be_local_closure(Matter_Plugin_OnOff_update_shadow, /* name */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 9]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(virtual),
|
||||
/* K0 */ be_nested_str_weak(VIRTUAL),
|
||||
/* K1 */ be_nested_str_weak(tasmota),
|
||||
/* K2 */ be_nested_str_weak(get_power),
|
||||
/* K3 */ be_nested_str_weak(tasmota_relay_index),
|
||||
@ -296,6 +296,70 @@ be_local_closure(Matter_Plugin_OnOff_update_virtual, /* name */
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: init
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_OnOff_init, /* name */
|
||||
be_nested_proto(
|
||||
9, /* nstack */
|
||||
4, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 2]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(init),
|
||||
/* K1 */ be_nested_str_weak(shadow_onoff),
|
||||
}),
|
||||
be_str_weak(init),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[11]) { /* code */
|
||||
0x60100003, // 0000 GETGBL R4 G3
|
||||
0x5C140000, // 0001 MOVE R5 R0
|
||||
0x7C100200, // 0002 CALL R4 1
|
||||
0x8C100900, // 0003 GETMET R4 R4 K0
|
||||
0x5C180200, // 0004 MOVE R6 R1
|
||||
0x5C1C0400, // 0005 MOVE R7 R2
|
||||
0x5C200600, // 0006 MOVE R8 R3
|
||||
0x7C100800, // 0007 CALL R4 4
|
||||
0x50100000, // 0008 LDBOOL R4 0 0
|
||||
0x90020204, // 0009 SETMBR R0 K1 R4
|
||||
0x80000000, // 000A RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: <lambda>
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_OnOff__X3Clambda_X3E, /* name */
|
||||
be_nested_proto(
|
||||
3, /* nstack */
|
||||
1, /* argc */
|
||||
0, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
0, /* has constants */
|
||||
NULL, /* no const */
|
||||
be_str_weak(_X3Clambda_X3E),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 4]) { /* code */
|
||||
0x60040009, // 0000 GETGBL R1 G9
|
||||
0x5C080000, // 0001 MOVE R2 R0
|
||||
0x7C040200, // 0002 CALL R1 1
|
||||
0x80040200, // 0003 RET 1 R1
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: read_attribute
|
||||
********************************************************************/
|
||||
@ -376,70 +440,6 @@ be_local_closure(Matter_Plugin_OnOff_read_attribute, /* name */
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: init
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_OnOff_init, /* name */
|
||||
be_nested_proto(
|
||||
9, /* nstack */
|
||||
4, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 2]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(init),
|
||||
/* K1 */ be_nested_str_weak(shadow_onoff),
|
||||
}),
|
||||
be_str_weak(init),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[11]) { /* code */
|
||||
0x60100003, // 0000 GETGBL R4 G3
|
||||
0x5C140000, // 0001 MOVE R5 R0
|
||||
0x7C100200, // 0002 CALL R4 1
|
||||
0x8C100900, // 0003 GETMET R4 R4 K0
|
||||
0x5C180200, // 0004 MOVE R6 R1
|
||||
0x5C1C0400, // 0005 MOVE R7 R2
|
||||
0x5C200600, // 0006 MOVE R8 R3
|
||||
0x7C100800, // 0007 CALL R4 4
|
||||
0x50100000, // 0008 LDBOOL R4 0 0
|
||||
0x90020204, // 0009 SETMBR R0 K1 R4
|
||||
0x80000000, // 000A RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: <lambda>
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_OnOff__X3Clambda_X3E, /* name */
|
||||
be_nested_proto(
|
||||
3, /* nstack */
|
||||
1, /* argc */
|
||||
0, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
0, /* has constants */
|
||||
NULL, /* no const */
|
||||
be_str_weak(_X3Clambda_X3E),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 4]) { /* code */
|
||||
0x60040009, // 0000 GETGBL R1 G9
|
||||
0x5C080000, // 0001 MOVE R2 R0
|
||||
0x7C040200, // 0002 CALL R1 1
|
||||
0x80040200, // 0003 RET 1 R1
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified class: Matter_Plugin_OnOff
|
||||
********************************************************************/
|
||||
@ -449,13 +449,13 @@ be_local_class(Matter_Plugin_OnOff,
|
||||
&be_class_Matter_Plugin_Device,
|
||||
be_nested_map(17,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_weak(NAME, -1), be_nested_str_weak(Relay) },
|
||||
{ be_const_key_weak(update_virtual, -1), be_const_closure(Matter_Plugin_OnOff_update_virtual_closure) },
|
||||
{ be_const_key_weak(UPDATE_COMMANDS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
|
||||
be_const_list( * be_nested_list(1,
|
||||
( (struct bvalue*) &(const bvalue[]) {
|
||||
be_nested_str_weak(Power),
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(ARG_HINT, 0), be_nested_str_weak(Relay_X3Cx_X3E_X20number) },
|
||||
{ be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(Relay_X3Cx_X3E_X20number) },
|
||||
{ be_const_key_weak(set_onoff, -1), be_const_closure(Matter_Plugin_OnOff_set_onoff_closure) },
|
||||
{ be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(1,
|
||||
@ -465,7 +465,7 @@ be_local_class(Matter_Plugin_OnOff,
|
||||
{ be_const_key_weak(parse_configuration, -1), be_const_closure(Matter_Plugin_OnOff_parse_configuration_closure) },
|
||||
{ be_const_key_weak(update_shadow, -1), be_const_closure(Matter_Plugin_OnOff_update_shadow_closure) },
|
||||
{ be_const_key_weak(invoke_request, -1), be_const_closure(Matter_Plugin_OnOff_invoke_request_closure) },
|
||||
{ be_const_key_weak(ARG, 13), be_nested_str_weak(relay) },
|
||||
{ be_const_key_weak(ARG, 0), be_nested_str_weak(relay) },
|
||||
{ be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(6,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
@ -525,10 +525,10 @@ be_local_class(Matter_Plugin_OnOff,
|
||||
be_const_int(65533),
|
||||
})) ) } )) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_OnOff_read_attribute_closure) },
|
||||
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Relay) },
|
||||
{ be_const_key_weak(UPDATE_TIME, 12), be_const_int(250) },
|
||||
{ be_const_key_weak(read_attribute, 13), be_const_closure(Matter_Plugin_OnOff_read_attribute_closure) },
|
||||
{ be_const_key_weak(ARG_TYPE, 10), be_const_static_closure(Matter_Plugin_OnOff__X3Clambda_X3E_closure) },
|
||||
{ be_const_key_weak(update_virtual, -1), be_const_closure(Matter_Plugin_OnOff_update_virtual_closure) },
|
||||
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(relay) },
|
||||
{ be_const_key_weak(init, 1), be_const_closure(Matter_Plugin_OnOff_init_closure) },
|
||||
{ be_const_key_weak(tasmota_relay_index, -1), be_const_var(0) },
|
||||
|
@ -7,23 +7,106 @@
|
||||
extern const bclass be_class_Matter_Plugin_Sensor;
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: value_changed
|
||||
** Solidified function: update_virtual
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Sensor_value_changed, /* name */
|
||||
be_local_closure(Matter_Plugin_Sensor_update_virtual, /* name */
|
||||
be_nested_proto(
|
||||
2, /* nstack */
|
||||
6, /* nstack */
|
||||
2, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
0, /* has constants */
|
||||
NULL, /* no const */
|
||||
be_str_weak(value_changed),
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 6]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(find),
|
||||
/* K1 */ be_nested_str_weak(JSON_NAME),
|
||||
/* K2 */ be_nested_str_weak(bool),
|
||||
/* K3 */ be_nested_str_weak(shadow_value),
|
||||
/* K4 */ be_nested_str_weak(value_changed),
|
||||
/* K5 */ be_nested_str_weak(update_virtual),
|
||||
}),
|
||||
be_str_weak(update_virtual),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 1]) { /* code */
|
||||
0x80000000, // 0000 RET 0
|
||||
( &(const binstruction[28]) { /* code */
|
||||
0x8C080300, // 0000 GETMET R2 R1 K0
|
||||
0x88100101, // 0001 GETMBR R4 R0 K1
|
||||
0x7C080400, // 0002 CALL R2 2
|
||||
0x4C0C0000, // 0003 LDNIL R3
|
||||
0x200C0403, // 0004 NE R3 R2 R3
|
||||
0x780E000E, // 0005 JMPF R3 #0015
|
||||
0x600C0004, // 0006 GETGBL R3 G4
|
||||
0x5C100400, // 0007 MOVE R4 R2
|
||||
0x7C0C0200, // 0008 CALL R3 1
|
||||
0x1C0C0702, // 0009 EQ R3 R3 K2
|
||||
0x780E0003, // 000A JMPF R3 #000F
|
||||
0x600C0009, // 000B GETGBL R3 G9
|
||||
0x5C100400, // 000C MOVE R4 R2
|
||||
0x7C0C0200, // 000D CALL R3 1
|
||||
0x5C080600, // 000E MOVE R2 R3
|
||||
0x880C0103, // 000F GETMBR R3 R0 K3
|
||||
0x200C0602, // 0010 NE R3 R3 R2
|
||||
0x780E0002, // 0011 JMPF R3 #0015
|
||||
0x8C0C0104, // 0012 GETMET R3 R0 K4
|
||||
0x7C0C0200, // 0013 CALL R3 1
|
||||
0x90020602, // 0014 SETMBR R0 K3 R2
|
||||
0x600C0003, // 0015 GETGBL R3 G3
|
||||
0x5C100000, // 0016 MOVE R4 R0
|
||||
0x7C0C0200, // 0017 CALL R3 1
|
||||
0x8C0C0705, // 0018 GETMET R3 R3 K5
|
||||
0x5C140200, // 0019 MOVE R5 R1
|
||||
0x7C0C0400, // 001A CALL R3 2
|
||||
0x80000000, // 001B RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: parse_sensors
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Sensor_parse_sensors, /* name */
|
||||
be_nested_proto(
|
||||
8, /* nstack */
|
||||
2, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 5]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(tasmota_sensor_matcher),
|
||||
/* K1 */ be_nested_str_weak(pre_value),
|
||||
/* K2 */ be_nested_str_weak(match),
|
||||
/* K3 */ be_nested_str_weak(shadow_value),
|
||||
/* K4 */ be_nested_str_weak(value_changed),
|
||||
}),
|
||||
be_str_weak(parse_sensors),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[20]) { /* code */
|
||||
0x88080100, // 0000 GETMBR R2 R0 K0
|
||||
0x780A0010, // 0001 JMPF R2 #0013
|
||||
0x8C080101, // 0002 GETMET R2 R0 K1
|
||||
0x6010000A, // 0003 GETGBL R4 G10
|
||||
0x88140100, // 0004 GETMBR R5 R0 K0
|
||||
0x8C140B02, // 0005 GETMET R5 R5 K2
|
||||
0x5C1C0200, // 0006 MOVE R7 R1
|
||||
0x7C140400, // 0007 CALL R5 2
|
||||
0x7C100200, // 0008 CALL R4 1
|
||||
0x7C080400, // 0009 CALL R2 2
|
||||
0x4C0C0000, // 000A LDNIL R3
|
||||
0x200C0403, // 000B NE R3 R2 R3
|
||||
0x780E0005, // 000C JMPF R3 #0013
|
||||
0x880C0103, // 000D GETMBR R3 R0 K3
|
||||
0x200C0403, // 000E NE R3 R2 R3
|
||||
0x780E0002, // 000F JMPF R3 #0013
|
||||
0x8C0C0104, // 0010 GETMET R3 R0 K4
|
||||
0x7C0C0200, // 0011 CALL R3 1
|
||||
0x90020602, // 0012 SETMBR R0 K3 R2
|
||||
0x80000000, // 0013 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
@ -74,56 +157,6 @@ be_local_closure(Matter_Plugin_Sensor_parse_configuration, /* name */
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: parse_sensors
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Sensor_parse_sensors, /* name */
|
||||
be_nested_proto(
|
||||
8, /* nstack */
|
||||
2, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 5]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(tasmota_sensor_matcher),
|
||||
/* K1 */ be_nested_str_weak(pre_value),
|
||||
/* K2 */ be_nested_str_weak(match),
|
||||
/* K3 */ be_nested_str_weak(shadow_value),
|
||||
/* K4 */ be_nested_str_weak(value_changed),
|
||||
}),
|
||||
be_str_weak(parse_sensors),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[21]) { /* code */
|
||||
0x88080100, // 0000 GETMBR R2 R0 K0
|
||||
0x780A0011, // 0001 JMPF R2 #0014
|
||||
0x8C080101, // 0002 GETMET R2 R0 K1
|
||||
0x6010000A, // 0003 GETGBL R4 G10
|
||||
0x88140100, // 0004 GETMBR R5 R0 K0
|
||||
0x8C140B02, // 0005 GETMET R5 R5 K2
|
||||
0x5C1C0200, // 0006 MOVE R7 R1
|
||||
0x7C140400, // 0007 CALL R5 2
|
||||
0x7C100200, // 0008 CALL R4 1
|
||||
0x7C080400, // 0009 CALL R2 2
|
||||
0x4C0C0000, // 000A LDNIL R3
|
||||
0x200C0403, // 000B NE R3 R2 R3
|
||||
0x780E0006, // 000C JMPF R3 #0014
|
||||
0x880C0103, // 000D GETMBR R3 R0 K3
|
||||
0x200C0403, // 000E NE R3 R2 R3
|
||||
0x780E0002, // 000F JMPF R3 #0013
|
||||
0x8C0C0104, // 0010 GETMET R3 R0 K4
|
||||
0x5C140400, // 0011 MOVE R5 R2
|
||||
0x7C0C0400, // 0012 CALL R3 2
|
||||
0x90020602, // 0013 SETMBR R0 K3 R2
|
||||
0x80000000, // 0014 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: pre_value
|
||||
********************************************************************/
|
||||
@ -148,6 +181,71 @@ be_local_closure(Matter_Plugin_Sensor_pre_value, /* name */
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: append_state_json
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Sensor_append_state_json, /* name */
|
||||
be_nested_proto(
|
||||
6, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 4]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(shadow_value),
|
||||
/* K1 */ be_nested_str_weak(null),
|
||||
/* K2 */ be_nested_str_weak(_X2C_X22_X25s_X22_X3A_X25s),
|
||||
/* K3 */ be_nested_str_weak(JSON_NAME),
|
||||
}),
|
||||
be_str_weak(append_state_json),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[13]) { /* code */
|
||||
0x88040100, // 0000 GETMBR R1 R0 K0
|
||||
0x4C080000, // 0001 LDNIL R2
|
||||
0x20040202, // 0002 NE R1 R1 R2
|
||||
0x78060001, // 0003 JMPF R1 #0006
|
||||
0x88040100, // 0004 GETMBR R1 R0 K0
|
||||
0x70020000, // 0005 JMP #0007
|
||||
0x58040001, // 0006 LDCONST R1 K1
|
||||
0x60080018, // 0007 GETGBL R2 G24
|
||||
0x580C0002, // 0008 LDCONST R3 K2
|
||||
0x88100103, // 0009 GETMBR R4 R0 K3
|
||||
0x5C140200, // 000A MOVE R5 R1
|
||||
0x7C080600, // 000B CALL R2 3
|
||||
0x80040400, // 000C RET 1 R2
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: value_changed
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Sensor_value_changed, /* name */
|
||||
be_nested_proto(
|
||||
1, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
0, /* has constants */
|
||||
NULL, /* no const */
|
||||
be_str_weak(value_changed),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 1]) { /* code */
|
||||
0x80000000, // 0000 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified class: Matter_Plugin_Sensor
|
||||
********************************************************************/
|
||||
@ -155,18 +253,21 @@ extern const bclass be_class_Matter_Plugin_Device;
|
||||
be_local_class(Matter_Plugin_Sensor,
|
||||
3,
|
||||
&be_class_Matter_Plugin_Device,
|
||||
be_nested_map(10,
|
||||
be_nested_map(13,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_weak(tasmota_sensor_matcher, -1), be_const_var(1) },
|
||||
{ be_const_key_weak(ARG, 1), be_nested_str_weak(filter) },
|
||||
{ be_const_key_weak(value_changed, -1), be_const_closure(Matter_Plugin_Sensor_value_changed_closure) },
|
||||
{ be_const_key_weak(ARG, -1), be_nested_str_weak(filter) },
|
||||
{ be_const_key_weak(shadow_value, -1), be_const_var(2) },
|
||||
{ be_const_key_weak(UPDATE_TIME, 7), be_const_int(5000) },
|
||||
{ be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(Filter_X20pattern) },
|
||||
{ be_const_key_weak(parse_sensors, 4), be_const_closure(Matter_Plugin_Sensor_parse_sensors_closure) },
|
||||
{ be_const_key_weak(tasmota_sensor_filter, 8), be_const_var(0) },
|
||||
{ be_const_key_weak(pre_value, -1), be_const_closure(Matter_Plugin_Sensor_pre_value_closure) },
|
||||
{ be_const_key_weak(parse_configuration, 2), be_const_closure(Matter_Plugin_Sensor_parse_configuration_closure) },
|
||||
{ be_const_key_weak(update_virtual, -1), be_const_closure(Matter_Plugin_Sensor_update_virtual_closure) },
|
||||
{ be_const_key_weak(ARG_HINT, 8), be_nested_str_weak(Filter_X20pattern) },
|
||||
{ be_const_key_weak(tasmota_sensor_matcher, -1), be_const_var(1) },
|
||||
{ be_const_key_weak(parse_sensors, -1), be_const_closure(Matter_Plugin_Sensor_parse_sensors_closure) },
|
||||
{ be_const_key_weak(JSON_NAME, -1), be_nested_str_weak() },
|
||||
{ be_const_key_weak(parse_configuration, -1), be_const_closure(Matter_Plugin_Sensor_parse_configuration_closure) },
|
||||
{ be_const_key_weak(pre_value, 12), be_const_closure(Matter_Plugin_Sensor_pre_value_closure) },
|
||||
{ be_const_key_weak(append_state_json, -1), be_const_closure(Matter_Plugin_Sensor_append_state_json_closure) },
|
||||
{ be_const_key_weak(shadow_value, 9), be_const_var(2) },
|
||||
{ be_const_key_weak(UPDATE_TIME, -1), be_const_int(5000) },
|
||||
{ be_const_key_weak(tasmota_sensor_filter, -1), be_const_var(0) },
|
||||
})),
|
||||
be_str_weak(Matter_Plugin_Sensor)
|
||||
);
|
||||
|
@ -47,6 +47,170 @@ be_local_closure(Matter_Plugin_Shutter_parse_configuration, /* name */
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: invoke_request
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Shutter_invoke_request, /* name */
|
||||
be_nested_proto(
|
||||
14, /* nstack */
|
||||
4, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[24]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(light),
|
||||
/* K1 */ be_nested_str_weak(matter),
|
||||
/* K2 */ be_nested_str_weak(TLV),
|
||||
/* K3 */ be_nested_str_weak(cluster),
|
||||
/* K4 */ be_nested_str_weak(command),
|
||||
/* K5 */ be_nested_str_weak(update_shadow_lazy),
|
||||
/* K6 */ be_const_int(0),
|
||||
/* K7 */ be_nested_str_weak(tasmota),
|
||||
/* K8 */ be_nested_str_weak(cmd),
|
||||
/* K9 */ be_nested_str_weak(ShutterStopOpen),
|
||||
/* K10 */ be_nested_str_weak(tasmota_shutter_index),
|
||||
/* K11 */ be_const_int(1),
|
||||
/* K12 */ be_nested_str_weak(update_shadow),
|
||||
/* K13 */ be_nested_str_weak(ShutterStopClose),
|
||||
/* K14 */ be_const_int(2),
|
||||
/* K15 */ be_nested_str_weak(ShutterStop),
|
||||
/* K16 */ be_nested_str_weak(log),
|
||||
/* K17 */ be_nested_str_weak(MTR_X3A_X20Tilt_X20_X3D_X20),
|
||||
/* K18 */ be_nested_str_weak(findsubval),
|
||||
/* K19 */ be_nested_str_weak(shadow_shutter_inverted),
|
||||
/* K20 */ be_nested_str_weak(ShutterPosition),
|
||||
/* K21 */ be_nested_str_weak(_X20),
|
||||
/* K22 */ be_nested_str_weak(pos_X25_X3A),
|
||||
/* K23 */ be_nested_str_weak(invoke_request),
|
||||
}),
|
||||
be_str_weak(invoke_request),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[116]) { /* code */
|
||||
0xA4120000, // 0000 IMPORT R4 K0
|
||||
0xB8160200, // 0001 GETNGBL R5 K1
|
||||
0x88140B02, // 0002 GETMBR R5 R5 K2
|
||||
0x88180703, // 0003 GETMBR R6 R3 K3
|
||||
0x881C0704, // 0004 GETMBR R7 R3 K4
|
||||
0x54220101, // 0005 LDINT R8 258
|
||||
0x1C200C08, // 0006 EQ R8 R6 R8
|
||||
0x78220061, // 0007 JMPF R8 #006A
|
||||
0x8C200105, // 0008 GETMET R8 R0 K5
|
||||
0x7C200200, // 0009 CALL R8 1
|
||||
0x1C200F06, // 000A EQ R8 R7 K6
|
||||
0x7822000D, // 000B JMPF R8 #001A
|
||||
0xB8220E00, // 000C GETNGBL R8 K7
|
||||
0x8C201108, // 000D GETMET R8 R8 K8
|
||||
0x60280008, // 000E GETGBL R10 G8
|
||||
0x882C010A, // 000F GETMBR R11 R0 K10
|
||||
0x002C170B, // 0010 ADD R11 R11 K11
|
||||
0x7C280200, // 0011 CALL R10 1
|
||||
0x002A120A, // 0012 ADD R10 K9 R10
|
||||
0x502C0200, // 0013 LDBOOL R11 1 0
|
||||
0x7C200600, // 0014 CALL R8 3
|
||||
0x8C20010C, // 0015 GETMET R8 R0 K12
|
||||
0x7C200200, // 0016 CALL R8 1
|
||||
0x50200200, // 0017 LDBOOL R8 1 0
|
||||
0x80041000, // 0018 RET 1 R8
|
||||
0x7002004E, // 0019 JMP #0069
|
||||
0x1C200F0B, // 001A EQ R8 R7 K11
|
||||
0x7822000D, // 001B JMPF R8 #002A
|
||||
0xB8220E00, // 001C GETNGBL R8 K7
|
||||
0x8C201108, // 001D GETMET R8 R8 K8
|
||||
0x60280008, // 001E GETGBL R10 G8
|
||||
0x882C010A, // 001F GETMBR R11 R0 K10
|
||||
0x002C170B, // 0020 ADD R11 R11 K11
|
||||
0x7C280200, // 0021 CALL R10 1
|
||||
0x002A1A0A, // 0022 ADD R10 K13 R10
|
||||
0x502C0200, // 0023 LDBOOL R11 1 0
|
||||
0x7C200600, // 0024 CALL R8 3
|
||||
0x8C20010C, // 0025 GETMET R8 R0 K12
|
||||
0x7C200200, // 0026 CALL R8 1
|
||||
0x50200200, // 0027 LDBOOL R8 1 0
|
||||
0x80041000, // 0028 RET 1 R8
|
||||
0x7002003E, // 0029 JMP #0069
|
||||
0x1C200F0E, // 002A EQ R8 R7 K14
|
||||
0x7822000D, // 002B JMPF R8 #003A
|
||||
0xB8220E00, // 002C GETNGBL R8 K7
|
||||
0x8C201108, // 002D GETMET R8 R8 K8
|
||||
0x60280008, // 002E GETGBL R10 G8
|
||||
0x882C010A, // 002F GETMBR R11 R0 K10
|
||||
0x002C170B, // 0030 ADD R11 R11 K11
|
||||
0x7C280200, // 0031 CALL R10 1
|
||||
0x002A1E0A, // 0032 ADD R10 K15 R10
|
||||
0x502C0200, // 0033 LDBOOL R11 1 0
|
||||
0x7C200600, // 0034 CALL R8 3
|
||||
0x8C20010C, // 0035 GETMET R8 R0 K12
|
||||
0x7C200200, // 0036 CALL R8 1
|
||||
0x50200200, // 0037 LDBOOL R8 1 0
|
||||
0x80041000, // 0038 RET 1 R8
|
||||
0x7002002E, // 0039 JMP #0069
|
||||
0x54220004, // 003A LDINT R8 5
|
||||
0x1C200E08, // 003B EQ R8 R7 R8
|
||||
0x7822002B, // 003C JMPF R8 #0069
|
||||
0xB8220E00, // 003D GETNGBL R8 K7
|
||||
0x8C201110, // 003E GETMET R8 R8 K16
|
||||
0x60280008, // 003F GETGBL R10 G8
|
||||
0x5C2C0400, // 0040 MOVE R11 R2
|
||||
0x7C280200, // 0041 CALL R10 1
|
||||
0x002A220A, // 0042 ADD R10 K17 R10
|
||||
0x582C000E, // 0043 LDCONST R11 K14
|
||||
0x7C200600, // 0044 CALL R8 3
|
||||
0x8C200512, // 0045 GETMET R8 R2 K18
|
||||
0x58280006, // 0046 LDCONST R10 K6
|
||||
0x7C200400, // 0047 CALL R8 2
|
||||
0x4C240000, // 0048 LDNIL R9
|
||||
0x20241009, // 0049 NE R9 R8 R9
|
||||
0x7826001B, // 004A JMPF R9 #0067
|
||||
0x54260063, // 004B LDINT R9 100
|
||||
0x0C201009, // 004C DIV R8 R8 R9
|
||||
0x88240113, // 004D GETMBR R9 R0 K19
|
||||
0x1C241306, // 004E EQ R9 R9 K6
|
||||
0x78260001, // 004F JMPF R9 #0052
|
||||
0x54260063, // 0050 LDINT R9 100
|
||||
0x04201208, // 0051 SUB R8 R9 R8
|
||||
0xB8260E00, // 0052 GETNGBL R9 K7
|
||||
0x8C241308, // 0053 GETMET R9 R9 K8
|
||||
0x602C0008, // 0054 GETGBL R11 G8
|
||||
0x8830010A, // 0055 GETMBR R12 R0 K10
|
||||
0x0030190B, // 0056 ADD R12 R12 K11
|
||||
0x7C2C0200, // 0057 CALL R11 1
|
||||
0x002E280B, // 0058 ADD R11 K20 R11
|
||||
0x002C1715, // 0059 ADD R11 R11 K21
|
||||
0x60300008, // 005A GETGBL R12 G8
|
||||
0x5C341000, // 005B MOVE R13 R8
|
||||
0x7C300200, // 005C CALL R12 1
|
||||
0x002C160C, // 005D ADD R11 R11 R12
|
||||
0x50300200, // 005E LDBOOL R12 1 0
|
||||
0x7C240600, // 005F CALL R9 3
|
||||
0x60240008, // 0060 GETGBL R9 G8
|
||||
0x5C281000, // 0061 MOVE R10 R8
|
||||
0x7C240200, // 0062 CALL R9 1
|
||||
0x00262C09, // 0063 ADD R9 K22 R9
|
||||
0x900E2009, // 0064 SETMBR R3 K16 R9
|
||||
0x8C24010C, // 0065 GETMET R9 R0 K12
|
||||
0x7C240200, // 0066 CALL R9 1
|
||||
0x50240200, // 0067 LDBOOL R9 1 0
|
||||
0x80041200, // 0068 RET 1 R9
|
||||
0x70020008, // 0069 JMP #0073
|
||||
0x60200003, // 006A GETGBL R8 G3
|
||||
0x5C240000, // 006B MOVE R9 R0
|
||||
0x7C200200, // 006C CALL R8 1
|
||||
0x8C201117, // 006D GETMET R8 R8 K23
|
||||
0x5C280200, // 006E MOVE R10 R1
|
||||
0x5C2C0400, // 006F MOVE R11 R2
|
||||
0x5C300600, // 0070 MOVE R12 R3
|
||||
0x7C200800, // 0071 CALL R8 4
|
||||
0x80041000, // 0072 RET 1 R8
|
||||
0x80000000, // 0073 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: read_attribute
|
||||
********************************************************************/
|
||||
@ -268,78 +432,6 @@ be_local_closure(Matter_Plugin_Shutter__X3Clambda_X3E, /* name */
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: update_inverted
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Shutter_update_inverted, /* name */
|
||||
be_nested_proto(
|
||||
6, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[11]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(shadow_shutter_inverted),
|
||||
/* K1 */ be_nested_str_weak(tasmota),
|
||||
/* K2 */ be_nested_str_weak(cmd),
|
||||
/* K3 */ be_nested_str_weak(Status_X2013),
|
||||
/* K4 */ be_nested_str_weak(contains),
|
||||
/* K5 */ be_nested_str_weak(StatusSHT),
|
||||
/* K6 */ be_nested_str_weak(find),
|
||||
/* K7 */ be_nested_str_weak(SHT),
|
||||
/* K8 */ be_nested_str_weak(tasmota_shutter_index),
|
||||
/* K9 */ be_nested_str_weak(Opt),
|
||||
/* K10 */ be_const_int(1),
|
||||
}),
|
||||
be_str_weak(update_inverted),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[37]) { /* code */
|
||||
0x88040100, // 0000 GETMBR R1 R0 K0
|
||||
0x5409FFFE, // 0001 LDINT R2 -1
|
||||
0x1C040202, // 0002 EQ R1 R1 R2
|
||||
0x7806001F, // 0003 JMPF R1 #0024
|
||||
0xB8060200, // 0004 GETNGBL R1 K1
|
||||
0x8C040302, // 0005 GETMET R1 R1 K2
|
||||
0x580C0003, // 0006 LDCONST R3 K3
|
||||
0x50100200, // 0007 LDBOOL R4 1 0
|
||||
0x7C040600, // 0008 CALL R1 3
|
||||
0x8C080304, // 0009 GETMET R2 R1 K4
|
||||
0x58100005, // 000A LDCONST R4 K5
|
||||
0x7C080400, // 000B CALL R2 2
|
||||
0x780A0016, // 000C JMPF R2 #0024
|
||||
0x94040305, // 000D GETIDX R1 R1 K5
|
||||
0x8C080306, // 000E GETMET R2 R1 K6
|
||||
0x60100008, // 000F GETGBL R4 G8
|
||||
0x88140108, // 0010 GETMBR R5 R0 K8
|
||||
0x7C100200, // 0011 CALL R4 1
|
||||
0x00120E04, // 0012 ADD R4 K7 R4
|
||||
0x60140013, // 0013 GETGBL R5 G19
|
||||
0x7C140000, // 0014 CALL R5 0
|
||||
0x7C080600, // 0015 CALL R2 3
|
||||
0x8C080506, // 0016 GETMET R2 R2 K6
|
||||
0x58100009, // 0017 LDCONST R4 K9
|
||||
0x7C080400, // 0018 CALL R2 2
|
||||
0x4C0C0000, // 0019 LDNIL R3
|
||||
0x200C0403, // 001A NE R3 R2 R3
|
||||
0x780E0007, // 001B JMPF R3 #0024
|
||||
0x600C0009, // 001C GETGBL R3 G9
|
||||
0x6010000C, // 001D GETGBL R4 G12
|
||||
0x5C140400, // 001E MOVE R5 R2
|
||||
0x7C100200, // 001F CALL R4 1
|
||||
0x0410090A, // 0020 SUB R4 R4 K10
|
||||
0x94100404, // 0021 GETIDX R4 R2 R4
|
||||
0x7C0C0200, // 0022 CALL R3 1
|
||||
0x90020003, // 0023 SETMBR R0 K0 R3
|
||||
0x80000000, // 0024 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: parse_sensors
|
||||
********************************************************************/
|
||||
@ -429,6 +521,78 @@ be_local_closure(Matter_Plugin_Shutter_parse_sensors, /* name */
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: update_inverted
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Shutter_update_inverted, /* name */
|
||||
be_nested_proto(
|
||||
6, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[11]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(shadow_shutter_inverted),
|
||||
/* K1 */ be_nested_str_weak(tasmota),
|
||||
/* K2 */ be_nested_str_weak(cmd),
|
||||
/* K3 */ be_nested_str_weak(Status_X2013),
|
||||
/* K4 */ be_nested_str_weak(contains),
|
||||
/* K5 */ be_nested_str_weak(StatusSHT),
|
||||
/* K6 */ be_nested_str_weak(find),
|
||||
/* K7 */ be_nested_str_weak(SHT),
|
||||
/* K8 */ be_nested_str_weak(tasmota_shutter_index),
|
||||
/* K9 */ be_nested_str_weak(Opt),
|
||||
/* K10 */ be_const_int(1),
|
||||
}),
|
||||
be_str_weak(update_inverted),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[37]) { /* code */
|
||||
0x88040100, // 0000 GETMBR R1 R0 K0
|
||||
0x5409FFFE, // 0001 LDINT R2 -1
|
||||
0x1C040202, // 0002 EQ R1 R1 R2
|
||||
0x7806001F, // 0003 JMPF R1 #0024
|
||||
0xB8060200, // 0004 GETNGBL R1 K1
|
||||
0x8C040302, // 0005 GETMET R1 R1 K2
|
||||
0x580C0003, // 0006 LDCONST R3 K3
|
||||
0x50100200, // 0007 LDBOOL R4 1 0
|
||||
0x7C040600, // 0008 CALL R1 3
|
||||
0x8C080304, // 0009 GETMET R2 R1 K4
|
||||
0x58100005, // 000A LDCONST R4 K5
|
||||
0x7C080400, // 000B CALL R2 2
|
||||
0x780A0016, // 000C JMPF R2 #0024
|
||||
0x94040305, // 000D GETIDX R1 R1 K5
|
||||
0x8C080306, // 000E GETMET R2 R1 K6
|
||||
0x60100008, // 000F GETGBL R4 G8
|
||||
0x88140108, // 0010 GETMBR R5 R0 K8
|
||||
0x7C100200, // 0011 CALL R4 1
|
||||
0x00120E04, // 0012 ADD R4 K7 R4
|
||||
0x60140013, // 0013 GETGBL R5 G19
|
||||
0x7C140000, // 0014 CALL R5 0
|
||||
0x7C080600, // 0015 CALL R2 3
|
||||
0x8C080506, // 0016 GETMET R2 R2 K6
|
||||
0x58100009, // 0017 LDCONST R4 K9
|
||||
0x7C080400, // 0018 CALL R2 2
|
||||
0x4C0C0000, // 0019 LDNIL R3
|
||||
0x200C0403, // 001A NE R3 R2 R3
|
||||
0x780E0007, // 001B JMPF R3 #0024
|
||||
0x600C0009, // 001C GETGBL R3 G9
|
||||
0x6010000C, // 001D GETGBL R4 G12
|
||||
0x5C140400, // 001E MOVE R5 R2
|
||||
0x7C100200, // 001F CALL R4 1
|
||||
0x0410090A, // 0020 SUB R4 R4 K10
|
||||
0x94100404, // 0021 GETIDX R4 R2 R4
|
||||
0x7C0C0200, // 0022 CALL R3 1
|
||||
0x90020003, // 0023 SETMBR R0 K0 R3
|
||||
0x80000000, // 0024 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: update_shadow
|
||||
********************************************************************/
|
||||
@ -482,170 +646,6 @@ be_local_closure(Matter_Plugin_Shutter_update_shadow, /* name */
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: invoke_request
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Shutter_invoke_request, /* name */
|
||||
be_nested_proto(
|
||||
14, /* nstack */
|
||||
4, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[24]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(light),
|
||||
/* K1 */ be_nested_str_weak(matter),
|
||||
/* K2 */ be_nested_str_weak(TLV),
|
||||
/* K3 */ be_nested_str_weak(cluster),
|
||||
/* K4 */ be_nested_str_weak(command),
|
||||
/* K5 */ be_nested_str_weak(update_shadow_lazy),
|
||||
/* K6 */ be_const_int(0),
|
||||
/* K7 */ be_nested_str_weak(tasmota),
|
||||
/* K8 */ be_nested_str_weak(cmd),
|
||||
/* K9 */ be_nested_str_weak(ShutterStopOpen),
|
||||
/* K10 */ be_nested_str_weak(tasmota_shutter_index),
|
||||
/* K11 */ be_const_int(1),
|
||||
/* K12 */ be_nested_str_weak(update_shadow),
|
||||
/* K13 */ be_nested_str_weak(ShutterStopClose),
|
||||
/* K14 */ be_const_int(2),
|
||||
/* K15 */ be_nested_str_weak(ShutterStop),
|
||||
/* K16 */ be_nested_str_weak(log),
|
||||
/* K17 */ be_nested_str_weak(MTR_X3A_X20Tilt_X20_X3D_X20),
|
||||
/* K18 */ be_nested_str_weak(findsubval),
|
||||
/* K19 */ be_nested_str_weak(shadow_shutter_inverted),
|
||||
/* K20 */ be_nested_str_weak(ShutterPosition),
|
||||
/* K21 */ be_nested_str_weak(_X20),
|
||||
/* K22 */ be_nested_str_weak(pos_X25_X3A),
|
||||
/* K23 */ be_nested_str_weak(invoke_request),
|
||||
}),
|
||||
be_str_weak(invoke_request),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[116]) { /* code */
|
||||
0xA4120000, // 0000 IMPORT R4 K0
|
||||
0xB8160200, // 0001 GETNGBL R5 K1
|
||||
0x88140B02, // 0002 GETMBR R5 R5 K2
|
||||
0x88180703, // 0003 GETMBR R6 R3 K3
|
||||
0x881C0704, // 0004 GETMBR R7 R3 K4
|
||||
0x54220101, // 0005 LDINT R8 258
|
||||
0x1C200C08, // 0006 EQ R8 R6 R8
|
||||
0x78220061, // 0007 JMPF R8 #006A
|
||||
0x8C200105, // 0008 GETMET R8 R0 K5
|
||||
0x7C200200, // 0009 CALL R8 1
|
||||
0x1C200F06, // 000A EQ R8 R7 K6
|
||||
0x7822000D, // 000B JMPF R8 #001A
|
||||
0xB8220E00, // 000C GETNGBL R8 K7
|
||||
0x8C201108, // 000D GETMET R8 R8 K8
|
||||
0x60280008, // 000E GETGBL R10 G8
|
||||
0x882C010A, // 000F GETMBR R11 R0 K10
|
||||
0x002C170B, // 0010 ADD R11 R11 K11
|
||||
0x7C280200, // 0011 CALL R10 1
|
||||
0x002A120A, // 0012 ADD R10 K9 R10
|
||||
0x502C0200, // 0013 LDBOOL R11 1 0
|
||||
0x7C200600, // 0014 CALL R8 3
|
||||
0x8C20010C, // 0015 GETMET R8 R0 K12
|
||||
0x7C200200, // 0016 CALL R8 1
|
||||
0x50200200, // 0017 LDBOOL R8 1 0
|
||||
0x80041000, // 0018 RET 1 R8
|
||||
0x7002004E, // 0019 JMP #0069
|
||||
0x1C200F0B, // 001A EQ R8 R7 K11
|
||||
0x7822000D, // 001B JMPF R8 #002A
|
||||
0xB8220E00, // 001C GETNGBL R8 K7
|
||||
0x8C201108, // 001D GETMET R8 R8 K8
|
||||
0x60280008, // 001E GETGBL R10 G8
|
||||
0x882C010A, // 001F GETMBR R11 R0 K10
|
||||
0x002C170B, // 0020 ADD R11 R11 K11
|
||||
0x7C280200, // 0021 CALL R10 1
|
||||
0x002A1A0A, // 0022 ADD R10 K13 R10
|
||||
0x502C0200, // 0023 LDBOOL R11 1 0
|
||||
0x7C200600, // 0024 CALL R8 3
|
||||
0x8C20010C, // 0025 GETMET R8 R0 K12
|
||||
0x7C200200, // 0026 CALL R8 1
|
||||
0x50200200, // 0027 LDBOOL R8 1 0
|
||||
0x80041000, // 0028 RET 1 R8
|
||||
0x7002003E, // 0029 JMP #0069
|
||||
0x1C200F0E, // 002A EQ R8 R7 K14
|
||||
0x7822000D, // 002B JMPF R8 #003A
|
||||
0xB8220E00, // 002C GETNGBL R8 K7
|
||||
0x8C201108, // 002D GETMET R8 R8 K8
|
||||
0x60280008, // 002E GETGBL R10 G8
|
||||
0x882C010A, // 002F GETMBR R11 R0 K10
|
||||
0x002C170B, // 0030 ADD R11 R11 K11
|
||||
0x7C280200, // 0031 CALL R10 1
|
||||
0x002A1E0A, // 0032 ADD R10 K15 R10
|
||||
0x502C0200, // 0033 LDBOOL R11 1 0
|
||||
0x7C200600, // 0034 CALL R8 3
|
||||
0x8C20010C, // 0035 GETMET R8 R0 K12
|
||||
0x7C200200, // 0036 CALL R8 1
|
||||
0x50200200, // 0037 LDBOOL R8 1 0
|
||||
0x80041000, // 0038 RET 1 R8
|
||||
0x7002002E, // 0039 JMP #0069
|
||||
0x54220004, // 003A LDINT R8 5
|
||||
0x1C200E08, // 003B EQ R8 R7 R8
|
||||
0x7822002B, // 003C JMPF R8 #0069
|
||||
0xB8220E00, // 003D GETNGBL R8 K7
|
||||
0x8C201110, // 003E GETMET R8 R8 K16
|
||||
0x60280008, // 003F GETGBL R10 G8
|
||||
0x5C2C0400, // 0040 MOVE R11 R2
|
||||
0x7C280200, // 0041 CALL R10 1
|
||||
0x002A220A, // 0042 ADD R10 K17 R10
|
||||
0x582C000E, // 0043 LDCONST R11 K14
|
||||
0x7C200600, // 0044 CALL R8 3
|
||||
0x8C200512, // 0045 GETMET R8 R2 K18
|
||||
0x58280006, // 0046 LDCONST R10 K6
|
||||
0x7C200400, // 0047 CALL R8 2
|
||||
0x4C240000, // 0048 LDNIL R9
|
||||
0x20241009, // 0049 NE R9 R8 R9
|
||||
0x7826001B, // 004A JMPF R9 #0067
|
||||
0x54260063, // 004B LDINT R9 100
|
||||
0x0C201009, // 004C DIV R8 R8 R9
|
||||
0x88240113, // 004D GETMBR R9 R0 K19
|
||||
0x1C241306, // 004E EQ R9 R9 K6
|
||||
0x78260001, // 004F JMPF R9 #0052
|
||||
0x54260063, // 0050 LDINT R9 100
|
||||
0x04201208, // 0051 SUB R8 R9 R8
|
||||
0xB8260E00, // 0052 GETNGBL R9 K7
|
||||
0x8C241308, // 0053 GETMET R9 R9 K8
|
||||
0x602C0008, // 0054 GETGBL R11 G8
|
||||
0x8830010A, // 0055 GETMBR R12 R0 K10
|
||||
0x0030190B, // 0056 ADD R12 R12 K11
|
||||
0x7C2C0200, // 0057 CALL R11 1
|
||||
0x002E280B, // 0058 ADD R11 K20 R11
|
||||
0x002C1715, // 0059 ADD R11 R11 K21
|
||||
0x60300008, // 005A GETGBL R12 G8
|
||||
0x5C341000, // 005B MOVE R13 R8
|
||||
0x7C300200, // 005C CALL R12 1
|
||||
0x002C160C, // 005D ADD R11 R11 R12
|
||||
0x50300200, // 005E LDBOOL R12 1 0
|
||||
0x7C240600, // 005F CALL R9 3
|
||||
0x60240008, // 0060 GETGBL R9 G8
|
||||
0x5C281000, // 0061 MOVE R10 R8
|
||||
0x7C240200, // 0062 CALL R9 1
|
||||
0x00262C09, // 0063 ADD R9 K22 R9
|
||||
0x900E2009, // 0064 SETMBR R3 K16 R9
|
||||
0x8C24010C, // 0065 GETMET R9 R0 K12
|
||||
0x7C240200, // 0066 CALL R9 1
|
||||
0x50240200, // 0067 LDBOOL R9 1 0
|
||||
0x80041200, // 0068 RET 1 R9
|
||||
0x70020008, // 0069 JMP #0073
|
||||
0x60200003, // 006A GETGBL R8 G3
|
||||
0x5C240000, // 006B MOVE R9 R0
|
||||
0x7C200200, // 006C CALL R8 1
|
||||
0x8C201117, // 006D GETMET R8 R8 K23
|
||||
0x5C280200, // 006E MOVE R10 R1
|
||||
0x5C2C0400, // 006F MOVE R11 R2
|
||||
0x5C300600, // 0070 MOVE R12 R3
|
||||
0x7C200800, // 0071 CALL R8 4
|
||||
0x80041000, // 0072 RET 1 R8
|
||||
0x80000000, // 0073 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified class: Matter_Plugin_Shutter
|
||||
********************************************************************/
|
||||
@ -662,7 +662,7 @@ be_local_class(Matter_Plugin_Shutter,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(514, -1), be_const_int(2) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(invoke_request, -1), be_const_closure(Matter_Plugin_Shutter_invoke_request_closure) },
|
||||
{ be_const_key_weak(shadow_shutter_target, -1), be_const_var(2) },
|
||||
{ be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(6,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
@ -729,18 +729,18 @@ be_local_class(Matter_Plugin_Shutter,
|
||||
be_const_int(65533),
|
||||
})) ) } )) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(shadow_shutter_target, 3), be_const_var(2) },
|
||||
{ be_const_key_weak(read_attribute, 14), be_const_closure(Matter_Plugin_Shutter_read_attribute_closure) },
|
||||
{ be_const_key_weak(parse_configuration, 13), be_const_closure(Matter_Plugin_Shutter_parse_configuration_closure) },
|
||||
{ be_const_key_weak(invoke_request, 3), be_const_closure(Matter_Plugin_Shutter_invoke_request_closure) },
|
||||
{ be_const_key_weak(read_attribute, 11), be_const_closure(Matter_Plugin_Shutter_read_attribute_closure) },
|
||||
{ be_const_key_weak(parse_configuration, 14), be_const_closure(Matter_Plugin_Shutter_parse_configuration_closure) },
|
||||
{ be_const_key_weak(shadow_shutter_pos, -1), be_const_var(1) },
|
||||
{ be_const_key_weak(ARG, 16), be_nested_str_weak(shutter) },
|
||||
{ be_const_key_weak(ARG, 13), be_nested_str_weak(shutter) },
|
||||
{ be_const_key_weak(ARG_TYPE, -1), be_const_static_closure(Matter_Plugin_Shutter__X3Clambda_X3E_closure) },
|
||||
{ be_const_key_weak(NAME, -1), be_nested_str_weak(Shutter) },
|
||||
{ be_const_key_weak(update_inverted, 11), be_const_closure(Matter_Plugin_Shutter_update_inverted_closure) },
|
||||
{ be_const_key_weak(update_shadow, 0), be_const_closure(Matter_Plugin_Shutter_update_shadow_closure) },
|
||||
{ be_const_key_weak(parse_sensors, -1), be_const_closure(Matter_Plugin_Shutter_parse_sensors_closure) },
|
||||
{ be_const_key_weak(update_inverted, -1), be_const_closure(Matter_Plugin_Shutter_update_inverted_closure) },
|
||||
{ be_const_key_weak(ARG_HINT, 16), be_nested_str_weak(Relay_X3Cx_X3E_X20number) },
|
||||
{ be_const_key_weak(update_shadow, 0), be_const_closure(Matter_Plugin_Shutter_update_shadow_closure) },
|
||||
{ be_const_key_weak(tasmota_shutter_index, -1), be_const_var(0) },
|
||||
{ be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(Relay_X3Cx_X3E_X20number) },
|
||||
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Shutter) },
|
||||
{ be_const_key_weak(shadow_shutter_direction, -1), be_const_var(3) },
|
||||
})),
|
||||
be_str_weak(Matter_Plugin_Shutter)
|
||||
|
@ -6,33 +6,6 @@
|
||||
|
||||
extern const bclass be_class_Matter_Plugin_Bridge_Light0;
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: <lambda>
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_Light0__X3Clambda_X3E, /* name */
|
||||
be_nested_proto(
|
||||
3, /* nstack */
|
||||
1, /* argc */
|
||||
0, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
0, /* has constants */
|
||||
NULL, /* no const */
|
||||
be_str_weak(_X3Clambda_X3E),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 4]) { /* code */
|
||||
0x60040009, // 0000 GETGBL R1 G9
|
||||
0x5C080000, // 0001 MOVE R2 R0
|
||||
0x7C040200, // 0002 CALL R1 1
|
||||
0x80040200, // 0003 RET 1 R1
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: set_onoff
|
||||
********************************************************************/
|
||||
@ -214,6 +187,33 @@ be_local_closure(Matter_Plugin_Bridge_Light0_read_attribute, /* name */
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: <lambda>
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_Light0__X3Clambda_X3E, /* name */
|
||||
be_nested_proto(
|
||||
3, /* nstack */
|
||||
1, /* argc */
|
||||
0, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
0, /* has constants */
|
||||
NULL, /* no const */
|
||||
be_str_weak(_X3Clambda_X3E),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 4]) { /* code */
|
||||
0x60040009, // 0000 GETGBL R1 G9
|
||||
0x5C080000, // 0001 MOVE R2 R0
|
||||
0x7C040200, // 0002 CALL R1 1
|
||||
0x80040200, // 0003 RET 1 R1
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: parse_update
|
||||
********************************************************************/
|
||||
@ -478,16 +478,19 @@ be_local_class(Matter_Plugin_Bridge_Light0,
|
||||
&be_class_Matter_Plugin_Bridge_HTTP,
|
||||
be_nested_map(16,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_weak(ARG_TYPE, 5), be_const_static_closure(Matter_Plugin_Bridge_Light0__X3Clambda_X3E_closure) },
|
||||
{ be_const_key_weak(shadow_onoff, 5), be_const_var(1) },
|
||||
{ be_const_key_weak(tasmota_relay_index, 4), be_const_var(0) },
|
||||
{ be_const_key_weak(set_onoff, -1), be_const_closure(Matter_Plugin_Bridge_Light0_set_onoff_closure) },
|
||||
{ be_const_key_weak(init, -1), be_const_closure(Matter_Plugin_Bridge_Light0_init_closure) },
|
||||
{ be_const_key_weak(web_values_prefix, 12), be_const_closure(Matter_Plugin_Bridge_Light0_web_values_prefix_closure) },
|
||||
{ be_const_key_weak(web_values, 14), be_const_closure(Matter_Plugin_Bridge_Light0_web_values_closure) },
|
||||
{ be_const_key_weak(NAME, -1), be_nested_str_weak(Light_X200_X20On) },
|
||||
{ be_const_key_weak(web_values_prefix, 9), be_const_closure(Matter_Plugin_Bridge_Light0_web_values_prefix_closure) },
|
||||
{ be_const_key_weak(web_values, 15), be_const_closure(Matter_Plugin_Bridge_Light0_web_values_closure) },
|
||||
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(http_light0) },
|
||||
{ be_const_key_weak(ARG, -1), be_nested_str_weak(relay) },
|
||||
{ be_const_key_weak(parse_update, -1), be_const_closure(Matter_Plugin_Bridge_Light0_parse_update_closure) },
|
||||
{ be_const_key_weak(CLUSTERS, 15), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
{ be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(Power_X3Cx_X3E_X20number) },
|
||||
{ be_const_key_weak(read_attribute, 12), be_const_closure(Matter_Plugin_Bridge_Light0_read_attribute_closure) },
|
||||
{ be_const_key_weak(invoke_request, -1), be_const_closure(Matter_Plugin_Bridge_Light0_invoke_request_closure) },
|
||||
{ be_const_key_weak(CLUSTERS, 14), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(6,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(6, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
|
||||
@ -546,16 +549,13 @@ be_local_class(Matter_Plugin_Bridge_Light0,
|
||||
be_const_int(65533),
|
||||
})) ) } )) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(read_attribute, 9), be_const_closure(Matter_Plugin_Bridge_Light0_read_attribute_closure) },
|
||||
{ be_const_key_weak(invoke_request, -1), be_const_closure(Matter_Plugin_Bridge_Light0_invoke_request_closure) },
|
||||
{ be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(Power_X3Cx_X3E_X20number) },
|
||||
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(http_light0) },
|
||||
{ be_const_key_weak(shadow_onoff, -1), be_const_var(1) },
|
||||
{ be_const_key_weak(DISPLAY_NAME, 6), be_nested_str_weak(Light_X200_X20On) },
|
||||
{ be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(1,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(256, -1), be_const_int(2) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(ARG_TYPE, -1), be_const_static_closure(Matter_Plugin_Bridge_Light0__X3Clambda_X3E_closure) },
|
||||
})),
|
||||
be_str_weak(Matter_Plugin_Bridge_Light0)
|
||||
);
|
||||
|
@ -63,8 +63,8 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_parse_configuration, /* name */
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_Sensor_value_changed, /* name */
|
||||
be_nested_proto(
|
||||
2, /* nstack */
|
||||
2, /* argc */
|
||||
1, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
@ -160,10 +160,10 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_parse_update, /* name */
|
||||
}),
|
||||
be_str_weak(parse_update),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[36]) { /* code */
|
||||
( &(const binstruction[35]) { /* code */
|
||||
0x540E0007, // 0000 LDINT R3 8
|
||||
0x1C0C0403, // 0001 EQ R3 R2 R3
|
||||
0x780E001F, // 0002 JMPF R3 #0023
|
||||
0x780E001E, // 0002 JMPF R3 #0022
|
||||
0x8C0C0300, // 0003 GETMET R3 R1 K0
|
||||
0x58140001, // 0004 LDCONST R5 K1
|
||||
0x7C0C0400, // 0005 CALL R3 2
|
||||
@ -177,7 +177,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_parse_update, /* name */
|
||||
0x940C0303, // 000D GETIDX R3 R1 K3
|
||||
0x90020803, // 000E SETMBR R0 K4 R3
|
||||
0x880C0105, // 000F GETMBR R3 R0 K5
|
||||
0x780E0011, // 0010 JMPF R3 #0023
|
||||
0x780E0010, // 0010 JMPF R3 #0022
|
||||
0x8C0C0106, // 0011 GETMET R3 R0 K6
|
||||
0x6014000A, // 0012 GETGBL R5 G10
|
||||
0x88180105, // 0013 GETMBR R6 R0 K5
|
||||
@ -188,15 +188,14 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_parse_update, /* name */
|
||||
0x7C0C0400, // 0018 CALL R3 2
|
||||
0x4C100000, // 0019 LDNIL R4
|
||||
0x20100604, // 001A NE R4 R3 R4
|
||||
0x78120006, // 001B JMPF R4 #0023
|
||||
0x78120005, // 001B JMPF R4 #0022
|
||||
0x88100108, // 001C GETMBR R4 R0 K8
|
||||
0x20100604, // 001D NE R4 R3 R4
|
||||
0x78120002, // 001E JMPF R4 #0022
|
||||
0x8C100109, // 001F GETMET R4 R0 K9
|
||||
0x5C180600, // 0020 MOVE R6 R3
|
||||
0x7C100400, // 0021 CALL R4 2
|
||||
0x90021003, // 0022 SETMBR R0 K8 R3
|
||||
0x80000000, // 0023 RET 0
|
||||
0x7C100200, // 0020 CALL R4 1
|
||||
0x90021003, // 0021 SETMBR R0 K8 R3
|
||||
0x80000000, // 0022 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
|
@ -21,7 +21,7 @@ be_local_closure(Matter_Plugin_Light1_set_bri, /* name */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[12]) { /* constants */
|
||||
/* K0 */ be_const_int(0),
|
||||
/* K1 */ be_nested_str_weak(virtual),
|
||||
/* K1 */ be_nested_str_weak(VIRTUAL),
|
||||
/* K2 */ be_nested_str_weak(light),
|
||||
/* K3 */ be_nested_str_weak(tasmota),
|
||||
/* K4 */ be_nested_str_weak(scale_uint),
|
||||
@ -107,6 +107,43 @@ be_local_closure(Matter_Plugin_Light1_set_bri, /* name */
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: init
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Light1_init, /* name */
|
||||
be_nested_proto(
|
||||
9, /* nstack */
|
||||
4, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 3]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(init),
|
||||
/* K1 */ be_nested_str_weak(shadow_bri),
|
||||
/* K2 */ be_const_int(0),
|
||||
}),
|
||||
be_str_weak(init),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[10]) { /* code */
|
||||
0x60100003, // 0000 GETGBL R4 G3
|
||||
0x5C140000, // 0001 MOVE R5 R0
|
||||
0x7C100200, // 0002 CALL R4 1
|
||||
0x8C100900, // 0003 GETMET R4 R4 K0
|
||||
0x5C180200, // 0004 MOVE R6 R1
|
||||
0x5C1C0400, // 0005 MOVE R7 R2
|
||||
0x5C200600, // 0006 MOVE R8 R3
|
||||
0x7C100800, // 0007 CALL R4 4
|
||||
0x90020302, // 0008 SETMBR R0 K1 K2
|
||||
0x80000000, // 0009 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: update_shadow
|
||||
********************************************************************/
|
||||
@ -121,7 +158,7 @@ be_local_closure(Matter_Plugin_Light1_update_shadow, /* name */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[11]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(virtual),
|
||||
/* K0 */ be_nested_str_weak(VIRTUAL),
|
||||
/* K1 */ be_nested_str_weak(light),
|
||||
/* K2 */ be_nested_str_weak(get),
|
||||
/* K3 */ be_nested_str_weak(find),
|
||||
@ -180,95 +217,6 @@ be_local_closure(Matter_Plugin_Light1_update_shadow, /* name */
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: init
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Light1_init, /* name */
|
||||
be_nested_proto(
|
||||
9, /* nstack */
|
||||
4, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 3]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(init),
|
||||
/* K1 */ be_nested_str_weak(shadow_bri),
|
||||
/* K2 */ be_const_int(0),
|
||||
}),
|
||||
be_str_weak(init),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[10]) { /* code */
|
||||
0x60100003, // 0000 GETGBL R4 G3
|
||||
0x5C140000, // 0001 MOVE R5 R0
|
||||
0x7C100200, // 0002 CALL R4 1
|
||||
0x8C100900, // 0003 GETMET R4 R4 K0
|
||||
0x5C180200, // 0004 MOVE R6 R1
|
||||
0x5C1C0400, // 0005 MOVE R7 R2
|
||||
0x5C200600, // 0006 MOVE R8 R3
|
||||
0x7C100800, // 0007 CALL R4 4
|
||||
0x90020302, // 0008 SETMBR R0 K1 K2
|
||||
0x80000000, // 0009 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: update_virtual
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Light1_update_virtual, /* name */
|
||||
be_nested_proto(
|
||||
8, /* nstack */
|
||||
2, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 5]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(find),
|
||||
/* K1 */ be_nested_str_weak(Power),
|
||||
/* K2 */ be_nested_str_weak(Bri),
|
||||
/* K3 */ be_nested_str_weak(set_bri),
|
||||
/* K4 */ be_nested_str_weak(update_virtual),
|
||||
}),
|
||||
be_str_weak(update_virtual),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[23]) { /* code */
|
||||
0x8C080300, // 0000 GETMET R2 R1 K0
|
||||
0x58100001, // 0001 LDCONST R4 K1
|
||||
0x7C080400, // 0002 CALL R2 2
|
||||
0x8C0C0300, // 0003 GETMET R3 R1 K0
|
||||
0x58140002, // 0004 LDCONST R5 K2
|
||||
0x7C0C0400, // 0005 CALL R3 2
|
||||
0x4C100000, // 0006 LDNIL R4
|
||||
0x20100604, // 0007 NE R4 R3 R4
|
||||
0x78120006, // 0008 JMPF R4 #0010
|
||||
0x8C100103, // 0009 GETMET R4 R0 K3
|
||||
0x60180009, // 000A GETGBL R6 G9
|
||||
0x5C1C0600, // 000B MOVE R7 R3
|
||||
0x7C180200, // 000C CALL R6 1
|
||||
0x5C1C0400, // 000D MOVE R7 R2
|
||||
0x7C100600, // 000E CALL R4 3
|
||||
0x80000800, // 000F RET 0
|
||||
0x60100003, // 0010 GETGBL R4 G3
|
||||
0x5C140000, // 0011 MOVE R5 R0
|
||||
0x7C100200, // 0012 CALL R4 1
|
||||
0x8C100904, // 0013 GETMET R4 R4 K4
|
||||
0x5C180200, // 0014 MOVE R6 R1
|
||||
0x7C100400, // 0015 CALL R4 2
|
||||
0x80000000, // 0016 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: read_attribute
|
||||
********************************************************************/
|
||||
@ -386,6 +334,58 @@ be_local_closure(Matter_Plugin_Light1_read_attribute, /* name */
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: update_virtual
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Light1_update_virtual, /* name */
|
||||
be_nested_proto(
|
||||
8, /* nstack */
|
||||
2, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 5]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(find),
|
||||
/* K1 */ be_nested_str_weak(Power),
|
||||
/* K2 */ be_nested_str_weak(Bri),
|
||||
/* K3 */ be_nested_str_weak(set_bri),
|
||||
/* K4 */ be_nested_str_weak(update_virtual),
|
||||
}),
|
||||
be_str_weak(update_virtual),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[23]) { /* code */
|
||||
0x8C080300, // 0000 GETMET R2 R1 K0
|
||||
0x58100001, // 0001 LDCONST R4 K1
|
||||
0x7C080400, // 0002 CALL R2 2
|
||||
0x8C0C0300, // 0003 GETMET R3 R1 K0
|
||||
0x58140002, // 0004 LDCONST R5 K2
|
||||
0x7C0C0400, // 0005 CALL R3 2
|
||||
0x4C100000, // 0006 LDNIL R4
|
||||
0x20100604, // 0007 NE R4 R3 R4
|
||||
0x78120006, // 0008 JMPF R4 #0010
|
||||
0x8C100103, // 0009 GETMET R4 R0 K3
|
||||
0x60180009, // 000A GETGBL R6 G9
|
||||
0x5C1C0600, // 000B MOVE R7 R3
|
||||
0x7C180200, // 000C CALL R6 1
|
||||
0x5C1C0400, // 000D MOVE R7 R2
|
||||
0x7C100600, // 000E CALL R4 3
|
||||
0x80000800, // 000F RET 0
|
||||
0x60100003, // 0010 GETGBL R4 G3
|
||||
0x5C140000, // 0011 MOVE R5 R0
|
||||
0x7C100200, // 0012 CALL R4 1
|
||||
0x8C100904, // 0013 GETMET R4 R4 K4
|
||||
0x5C180200, // 0014 MOVE R6 R1
|
||||
0x7C100400, // 0015 CALL R4 2
|
||||
0x80000000, // 0016 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: invoke_request
|
||||
********************************************************************/
|
||||
@ -560,24 +560,24 @@ be_local_class(Matter_Plugin_Light1,
|
||||
be_nested_map(12,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_weak(invoke_request, -1), be_const_closure(Matter_Plugin_Light1_invoke_request_closure) },
|
||||
{ be_const_key_weak(TYPE, 7), be_nested_str_weak(light1) },
|
||||
{ be_const_key_weak(shadow_bri, 7), be_const_var(0) },
|
||||
{ be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(1,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(257, -1), be_const_int(2) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(UPDATE_COMMANDS, 9), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
|
||||
{ be_const_key_weak(UPDATE_COMMANDS, 4), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
|
||||
be_const_list( * be_nested_list(2,
|
||||
( (struct bvalue*) &(const bvalue[]) {
|
||||
be_nested_str_weak(Power),
|
||||
be_nested_str_weak(Bri),
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(init, -1), be_const_closure(Matter_Plugin_Light1_init_closure) },
|
||||
{ be_const_key_weak(update_shadow, -1), be_const_closure(Matter_Plugin_Light1_update_shadow_closure) },
|
||||
{ be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_Light1_read_attribute_closure) },
|
||||
{ be_const_key_weak(NAME, 5), be_nested_str_weak(Light_X201_X20Dimmer) },
|
||||
{ be_const_key_weak(shadow_bri, 4), be_const_var(0) },
|
||||
{ be_const_key_weak(TYPE, 5), be_nested_str_weak(light1) },
|
||||
{ be_const_key_weak(update_virtual, -1), be_const_closure(Matter_Plugin_Light1_update_virtual_closure) },
|
||||
{ be_const_key_weak(init, -1), be_const_closure(Matter_Plugin_Light1_init_closure) },
|
||||
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Light_X201_X20Dimmer) },
|
||||
{ be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(7,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
|
@ -34,40 +34,111 @@ be_local_closure(Matter_Plugin_Sensor_Contact__X3Clambda_X3E, /* name */
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: parse_configuration
|
||||
** Solidified function: init
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Sensor_Contact_parse_configuration, /* name */
|
||||
be_local_closure(Matter_Plugin_Sensor_Contact_init, /* name */
|
||||
be_nested_proto(
|
||||
7, /* nstack */
|
||||
2, /* argc */
|
||||
9, /* nstack */
|
||||
4, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 5]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(tasmota_switch_index),
|
||||
/* K1 */ be_nested_str_weak(find),
|
||||
/* K2 */ be_nested_str_weak(ARG),
|
||||
/* K3 */ be_const_int(1),
|
||||
/* K4 */ be_const_int(0),
|
||||
( &(const bvalue[ 2]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(init),
|
||||
/* K1 */ be_nested_str_weak(shadow_contact),
|
||||
}),
|
||||
be_str_weak(parse_configuration),
|
||||
be_str_weak(init),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[12]) { /* code */
|
||||
0x60080009, // 0000 GETGBL R2 G9
|
||||
0x8C0C0301, // 0001 GETMET R3 R1 K1
|
||||
0x88140102, // 0002 GETMBR R5 R0 K2
|
||||
0x58180003, // 0003 LDCONST R6 K3
|
||||
0x7C0C0600, // 0004 CALL R3 3
|
||||
0x7C080200, // 0005 CALL R2 1
|
||||
0x90020002, // 0006 SETMBR R0 K0 R2
|
||||
0x88080100, // 0007 GETMBR R2 R0 K0
|
||||
0x18080504, // 0008 LE R2 R2 K4
|
||||
0x780A0000, // 0009 JMPF R2 #000B
|
||||
0x90020103, // 000A SETMBR R0 K0 K3
|
||||
0x80000000, // 000B RET 0
|
||||
( &(const binstruction[11]) { /* code */
|
||||
0x60100003, // 0000 GETGBL R4 G3
|
||||
0x5C140000, // 0001 MOVE R5 R0
|
||||
0x7C100200, // 0002 CALL R4 1
|
||||
0x8C100900, // 0003 GETMET R4 R4 K0
|
||||
0x5C180200, // 0004 MOVE R6 R1
|
||||
0x5C1C0400, // 0005 MOVE R7 R2
|
||||
0x5C200600, // 0006 MOVE R8 R3
|
||||
0x7C100800, // 0007 CALL R4 4
|
||||
0x50100000, // 0008 LDBOOL R4 0 0
|
||||
0x90020204, // 0009 SETMBR R0 K1 R4
|
||||
0x80000000, // 000A RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: update_shadow
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Sensor_Contact_update_shadow, /* name */
|
||||
be_nested_proto(
|
||||
9, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[13]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(update_shadow),
|
||||
/* K1 */ be_nested_str_weak(json),
|
||||
/* K2 */ be_nested_str_weak(tasmota),
|
||||
/* K3 */ be_nested_str_weak(cmd),
|
||||
/* K4 */ be_nested_str_weak(Status_X208),
|
||||
/* K5 */ be_nested_str_weak(load),
|
||||
/* K6 */ be_nested_str_weak(find),
|
||||
/* K7 */ be_nested_str_weak(Switch),
|
||||
/* K8 */ be_nested_str_weak(tasmota_switch_index),
|
||||
/* K9 */ be_nested_str_weak(ON),
|
||||
/* K10 */ be_nested_str_weak(shadow_contact),
|
||||
/* K11 */ be_nested_str_weak(attribute_updated),
|
||||
/* K12 */ be_const_int(0),
|
||||
}),
|
||||
be_str_weak(update_shadow),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[38]) { /* code */
|
||||
0x60040003, // 0000 GETGBL R1 G3
|
||||
0x5C080000, // 0001 MOVE R2 R0
|
||||
0x7C040200, // 0002 CALL R1 1
|
||||
0x8C040300, // 0003 GETMET R1 R1 K0
|
||||
0x7C040200, // 0004 CALL R1 1
|
||||
0xA4060200, // 0005 IMPORT R1 K1
|
||||
0xB80A0400, // 0006 GETNGBL R2 K2
|
||||
0x8C080503, // 0007 GETMET R2 R2 K3
|
||||
0x58100004, // 0008 LDCONST R4 K4
|
||||
0x50140200, // 0009 LDBOOL R5 1 0
|
||||
0x7C080600, // 000A CALL R2 3
|
||||
0x4C0C0000, // 000B LDNIL R3
|
||||
0x200C0403, // 000C NE R3 R2 R3
|
||||
0x780E0016, // 000D JMPF R3 #0025
|
||||
0x8C0C0305, // 000E GETMET R3 R1 K5
|
||||
0x5C140400, // 000F MOVE R5 R2
|
||||
0x7C0C0400, // 0010 CALL R3 2
|
||||
0x4C100000, // 0011 LDNIL R4
|
||||
0x20100604, // 0012 NE R4 R3 R4
|
||||
0x78120010, // 0013 JMPF R4 #0025
|
||||
0x50100000, // 0014 LDBOOL R4 0 0
|
||||
0x8C140706, // 0015 GETMET R5 R3 K6
|
||||
0x601C0008, // 0016 GETGBL R7 G8
|
||||
0x88200108, // 0017 GETMBR R8 R0 K8
|
||||
0x7C1C0200, // 0018 CALL R7 1
|
||||
0x001E0E07, // 0019 ADD R7 K7 R7
|
||||
0x7C140400, // 001A CALL R5 2
|
||||
0x1C140B09, // 001B EQ R5 R5 K9
|
||||
0x5C100A00, // 001C MOVE R4 R5
|
||||
0x8814010A, // 001D GETMBR R5 R0 K10
|
||||
0x20140A04, // 001E NE R5 R5 R4
|
||||
0x78160004, // 001F JMPF R5 #0025
|
||||
0x8C14010B, // 0020 GETMET R5 R0 K11
|
||||
0x541E0044, // 0021 LDINT R7 69
|
||||
0x5820000C, // 0022 LDCONST R8 K12
|
||||
0x7C140600, // 0023 CALL R5 3
|
||||
0x90021404, // 0024 SETMBR R0 K10 R4
|
||||
0x80000000, // 0025 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
@ -164,11 +235,107 @@ be_local_closure(Matter_Plugin_Sensor_Contact_read_attribute, /* name */
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: update_shadow
|
||||
** Solidified function: parse_configuration
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Sensor_Contact_update_shadow, /* name */
|
||||
be_local_closure(Matter_Plugin_Sensor_Contact_parse_configuration, /* name */
|
||||
be_nested_proto(
|
||||
9, /* nstack */
|
||||
7, /* nstack */
|
||||
2, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 5]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(tasmota_switch_index),
|
||||
/* K1 */ be_nested_str_weak(find),
|
||||
/* K2 */ be_nested_str_weak(ARG),
|
||||
/* K3 */ be_const_int(1),
|
||||
/* K4 */ be_const_int(0),
|
||||
}),
|
||||
be_str_weak(parse_configuration),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[12]) { /* code */
|
||||
0x60080009, // 0000 GETGBL R2 G9
|
||||
0x8C0C0301, // 0001 GETMET R3 R1 K1
|
||||
0x88140102, // 0002 GETMBR R5 R0 K2
|
||||
0x58180003, // 0003 LDCONST R6 K3
|
||||
0x7C0C0600, // 0004 CALL R3 3
|
||||
0x7C080200, // 0005 CALL R2 1
|
||||
0x90020002, // 0006 SETMBR R0 K0 R2
|
||||
0x88080100, // 0007 GETMBR R2 R0 K0
|
||||
0x18080504, // 0008 LE R2 R2 K4
|
||||
0x780A0000, // 0009 JMPF R2 #000B
|
||||
0x90020103, // 000A SETMBR R0 K0 K3
|
||||
0x80000000, // 000B RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: update_virtual
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Sensor_Contact_update_virtual, /* name */
|
||||
be_nested_proto(
|
||||
7, /* nstack */
|
||||
2, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 6]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(find),
|
||||
/* K1 */ be_nested_str_weak(Contact),
|
||||
/* K2 */ be_nested_str_weak(shadow_contact),
|
||||
/* K3 */ be_nested_str_weak(attribute_updated),
|
||||
/* K4 */ be_const_int(0),
|
||||
/* K5 */ be_nested_str_weak(update_virtual),
|
||||
}),
|
||||
be_str_weak(update_virtual),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[25]) { /* code */
|
||||
0x8C080300, // 0000 GETMET R2 R1 K0
|
||||
0x58100001, // 0001 LDCONST R4 K1
|
||||
0x7C080400, // 0002 CALL R2 2
|
||||
0x4C0C0000, // 0003 LDNIL R3
|
||||
0x200C0403, // 0004 NE R3 R2 R3
|
||||
0x780E000B, // 0005 JMPF R3 #0012
|
||||
0x600C0017, // 0006 GETGBL R3 G23
|
||||
0x5C100400, // 0007 MOVE R4 R2
|
||||
0x7C0C0200, // 0008 CALL R3 1
|
||||
0x5C080600, // 0009 MOVE R2 R3
|
||||
0x880C0102, // 000A GETMBR R3 R0 K2
|
||||
0x200C0602, // 000B NE R3 R3 R2
|
||||
0x780E0004, // 000C JMPF R3 #0012
|
||||
0x8C0C0103, // 000D GETMET R3 R0 K3
|
||||
0x54160044, // 000E LDINT R5 69
|
||||
0x58180004, // 000F LDCONST R6 K4
|
||||
0x7C0C0600, // 0010 CALL R3 3
|
||||
0x90020402, // 0011 SETMBR R0 K2 R2
|
||||
0x600C0003, // 0012 GETGBL R3 G3
|
||||
0x5C100000, // 0013 MOVE R4 R0
|
||||
0x7C0C0200, // 0014 CALL R3 1
|
||||
0x8C0C0705, // 0015 GETMET R3 R3 K5
|
||||
0x5C140200, // 0016 MOVE R5 R1
|
||||
0x7C0C0400, // 0017 CALL R3 2
|
||||
0x80000000, // 0018 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: append_state_json
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Sensor_Contact_append_state_json, /* name */
|
||||
be_nested_proto(
|
||||
5, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
@ -176,69 +343,20 @@ be_local_closure(Matter_Plugin_Sensor_Contact_update_shadow, /* name */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[13]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(update_shadow),
|
||||
/* K1 */ be_nested_str_weak(json),
|
||||
/* K2 */ be_nested_str_weak(tasmota),
|
||||
/* K3 */ be_nested_str_weak(cmd),
|
||||
/* K4 */ be_nested_str_weak(Status_X208),
|
||||
/* K5 */ be_nested_str_weak(load),
|
||||
/* K6 */ be_nested_str_weak(find),
|
||||
/* K7 */ be_nested_str_weak(Switch),
|
||||
/* K8 */ be_nested_str_weak(tasmota_switch_index),
|
||||
/* K9 */ be_nested_str_weak(ON),
|
||||
/* K10 */ be_nested_str_weak(shadow_contact),
|
||||
/* K11 */ be_nested_str_weak(attribute_updated),
|
||||
/* K12 */ be_const_int(0),
|
||||
( &(const bvalue[ 2]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(_X2C_X22Contact_X22_X3A_X25s),
|
||||
/* K1 */ be_nested_str_weak(shadow_contact),
|
||||
}),
|
||||
be_str_weak(update_shadow),
|
||||
be_str_weak(append_state_json),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[45]) { /* code */
|
||||
0x60040003, // 0000 GETGBL R1 G3
|
||||
0x5C080000, // 0001 MOVE R2 R0
|
||||
0x7C040200, // 0002 CALL R1 1
|
||||
0x8C040300, // 0003 GETMET R1 R1 K0
|
||||
0x7C040200, // 0004 CALL R1 1
|
||||
0xA4060200, // 0005 IMPORT R1 K1
|
||||
0xB80A0400, // 0006 GETNGBL R2 K2
|
||||
0x8C080503, // 0007 GETMET R2 R2 K3
|
||||
0x58100004, // 0008 LDCONST R4 K4
|
||||
0x50140200, // 0009 LDBOOL R5 1 0
|
||||
0x7C080600, // 000A CALL R2 3
|
||||
0x4C0C0000, // 000B LDNIL R3
|
||||
0x200C0403, // 000C NE R3 R2 R3
|
||||
0x780E001D, // 000D JMPF R3 #002C
|
||||
0x8C0C0305, // 000E GETMET R3 R1 K5
|
||||
0x5C140400, // 000F MOVE R5 R2
|
||||
0x7C0C0400, // 0010 CALL R3 2
|
||||
0x4C100000, // 0011 LDNIL R4
|
||||
0x20100604, // 0012 NE R4 R3 R4
|
||||
0x78120017, // 0013 JMPF R4 #002C
|
||||
0x50100000, // 0014 LDBOOL R4 0 0
|
||||
0x8C140706, // 0015 GETMET R5 R3 K6
|
||||
0x601C0008, // 0016 GETGBL R7 G8
|
||||
0x88200108, // 0017 GETMBR R8 R0 K8
|
||||
0x7C1C0200, // 0018 CALL R7 1
|
||||
0x001E0E07, // 0019 ADD R7 K7 R7
|
||||
0x7C140400, // 001A CALL R5 2
|
||||
0x1C140B09, // 001B EQ R5 R5 K9
|
||||
0x5C100A00, // 001C MOVE R4 R5
|
||||
0x8814010A, // 001D GETMBR R5 R0 K10
|
||||
0x4C180000, // 001E LDNIL R6
|
||||
0x20140A06, // 001F NE R5 R5 R6
|
||||
0x78160009, // 0020 JMPF R5 #002B
|
||||
0x8814010A, // 0021 GETMBR R5 R0 K10
|
||||
0x60180017, // 0022 GETGBL R6 G23
|
||||
0x5C1C0800, // 0023 MOVE R7 R4
|
||||
0x7C180200, // 0024 CALL R6 1
|
||||
0x20140A06, // 0025 NE R5 R5 R6
|
||||
0x78160003, // 0026 JMPF R5 #002B
|
||||
0x8C14010B, // 0027 GETMET R5 R0 K11
|
||||
0x541E0044, // 0028 LDINT R7 69
|
||||
0x5820000C, // 0029 LDCONST R8 K12
|
||||
0x7C140600, // 002A CALL R5 3
|
||||
0x90021404, // 002B SETMBR R0 K10 R4
|
||||
0x80000000, // 002C RET 0
|
||||
( &(const binstruction[ 7]) { /* code */
|
||||
0x60040018, // 0000 GETGBL R1 G24
|
||||
0x58080000, // 0001 LDCONST R2 K0
|
||||
0x600C0009, // 0002 GETGBL R3 G9
|
||||
0x88100101, // 0003 GETMBR R4 R0 K1
|
||||
0x7C0C0200, // 0004 CALL R3 1
|
||||
0x7C040400, // 0005 CALL R1 2
|
||||
0x80040200, // 0006 RET 1 R1
|
||||
})
|
||||
)
|
||||
);
|
||||
@ -252,19 +370,19 @@ extern const bclass be_class_Matter_Plugin_Device;
|
||||
be_local_class(Matter_Plugin_Sensor_Contact,
|
||||
2,
|
||||
&be_class_Matter_Plugin_Device,
|
||||
be_nested_map(13,
|
||||
be_nested_map(16,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_weak(ARG_TYPE, 6), be_const_static_closure(Matter_Plugin_Sensor_Contact__X3Clambda_X3E_closure) },
|
||||
{ be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(Switch_X3Cx_X3E_X20number) },
|
||||
{ be_const_key_weak(shadow_contact, 4), be_const_var(1) },
|
||||
{ be_const_key_weak(init, -1), be_const_closure(Matter_Plugin_Sensor_Contact_init_closure) },
|
||||
{ be_const_key_weak(append_state_json, -1), be_const_closure(Matter_Plugin_Sensor_Contact_append_state_json_closure) },
|
||||
{ be_const_key_weak(update_shadow, 12), be_const_closure(Matter_Plugin_Sensor_Contact_update_shadow_closure) },
|
||||
{ be_const_key_weak(update_virtual, -1), be_const_closure(Matter_Plugin_Sensor_Contact_update_virtual_closure) },
|
||||
{ be_const_key_weak(ARG, -1), be_nested_str_weak(switch) },
|
||||
{ be_const_key_weak(shadow_contact, -1), be_const_var(1) },
|
||||
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(contact) },
|
||||
{ be_const_key_weak(ARG_TYPE, 5), be_const_static_closure(Matter_Plugin_Sensor_Contact__X3Clambda_X3E_closure) },
|
||||
{ be_const_key_weak(UPDATE_TIME, -1), be_const_int(750) },
|
||||
{ be_const_key_weak(ARG_HINT, 1), be_nested_str_weak(Switch_X3Cx_X3E_X20number) },
|
||||
{ be_const_key_weak(NAME, -1), be_nested_str_weak(Contact) },
|
||||
{ be_const_key_weak(parse_configuration, 8), be_const_closure(Matter_Plugin_Sensor_Contact_parse_configuration_closure) },
|
||||
{ be_const_key_weak(update_shadow, -1), be_const_closure(Matter_Plugin_Sensor_Contact_update_shadow_closure) },
|
||||
{ be_const_key_weak(tasmota_switch_index, 6), be_const_var(0) },
|
||||
{ be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Contact) },
|
||||
{ be_const_key_weak(CLUSTERS, 11), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(6,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(5, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
|
||||
@ -323,12 +441,15 @@ be_local_class(Matter_Plugin_Sensor_Contact,
|
||||
be_const_int(65533),
|
||||
})) ) } )) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(read_attribute, 4), be_const_closure(Matter_Plugin_Sensor_Contact_read_attribute_closure) },
|
||||
{ be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
{ be_const_key_weak(TYPES, 14), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(1,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(21, -1), be_const_int(1) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(parse_configuration, -1), be_const_closure(Matter_Plugin_Sensor_Contact_parse_configuration_closure) },
|
||||
{ be_const_key_weak(TYPE, 9), be_nested_str_weak(contact) },
|
||||
{ be_const_key_weak(read_attribute, 15), be_const_closure(Matter_Plugin_Sensor_Contact_read_attribute_closure) },
|
||||
{ be_const_key_weak(tasmota_switch_index, -1), be_const_var(0) },
|
||||
})),
|
||||
be_str_weak(Matter_Plugin_Sensor_Contact)
|
||||
);
|
||||
|
@ -6,46 +6,13 @@
|
||||
|
||||
extern const bclass be_class_Matter_Plugin_Sensor_Humidity;
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: pre_value
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Sensor_Humidity_pre_value, /* name */
|
||||
be_nested_proto(
|
||||
4, /* nstack */
|
||||
2, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
0, /* has constants */
|
||||
NULL, /* no const */
|
||||
be_str_weak(pre_value),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[10]) { /* code */
|
||||
0x4C080000, // 0000 LDNIL R2
|
||||
0x20080202, // 0001 NE R2 R1 R2
|
||||
0x780A0004, // 0002 JMPF R2 #0008
|
||||
0x60080009, // 0003 GETGBL R2 G9
|
||||
0x540E0063, // 0004 LDINT R3 100
|
||||
0x080C0203, // 0005 MUL R3 R1 R3
|
||||
0x7C080200, // 0006 CALL R2 1
|
||||
0x70020000, // 0007 JMP #0009
|
||||
0x4C080000, // 0008 LDNIL R2
|
||||
0x80040400, // 0009 RET 1 R2
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: value_changed
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Sensor_Humidity_value_changed, /* name */
|
||||
be_nested_proto(
|
||||
6, /* nstack */
|
||||
2, /* argc */
|
||||
5, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
@ -59,10 +26,10 @@ be_local_closure(Matter_Plugin_Sensor_Humidity_value_changed, /* name */
|
||||
be_str_weak(value_changed),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 5]) { /* code */
|
||||
0x8C080100, // 0000 GETMET R2 R0 K0
|
||||
0x54120404, // 0001 LDINT R4 1029
|
||||
0x58140001, // 0002 LDCONST R5 K1
|
||||
0x7C080600, // 0003 CALL R2 3
|
||||
0x8C040100, // 0000 GETMET R1 R0 K0
|
||||
0x540E0404, // 0001 LDINT R3 1029
|
||||
0x58100001, // 0002 LDCONST R4 K1
|
||||
0x7C040600, // 0003 CALL R1 3
|
||||
0x80000000, // 0004 RET 0
|
||||
})
|
||||
)
|
||||
@ -70,37 +37,6 @@ be_local_closure(Matter_Plugin_Sensor_Humidity_value_changed, /* name */
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: append_state_json
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Sensor_Humidity_append_state_json, /* name */
|
||||
be_nested_proto(
|
||||
4, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 2]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(_X2C_X22Humidity_X22_X3A_X25s),
|
||||
/* K1 */ be_nested_str_weak(shadow_value),
|
||||
}),
|
||||
be_str_weak(append_state_json),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 5]) { /* code */
|
||||
0x60040018, // 0000 GETGBL R1 G24
|
||||
0x58080000, // 0001 LDCONST R2 K0
|
||||
0x880C0101, // 0002 GETMBR R3 R0 K1
|
||||
0x7C040400, // 0003 CALL R1 2
|
||||
0x80040200, // 0004 RET 1 R1
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: read_attribute
|
||||
********************************************************************/
|
||||
@ -210,6 +146,39 @@ be_local_closure(Matter_Plugin_Sensor_Humidity_read_attribute, /* name */
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: pre_value
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Sensor_Humidity_pre_value, /* name */
|
||||
be_nested_proto(
|
||||
4, /* nstack */
|
||||
2, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
0, /* has constants */
|
||||
NULL, /* no const */
|
||||
be_str_weak(pre_value),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[10]) { /* code */
|
||||
0x4C080000, // 0000 LDNIL R2
|
||||
0x20080202, // 0001 NE R2 R1 R2
|
||||
0x780A0004, // 0002 JMPF R2 #0008
|
||||
0x60080009, // 0003 GETGBL R2 G9
|
||||
0x540E0063, // 0004 LDINT R3 100
|
||||
0x080C0203, // 0005 MUL R3 R1 R3
|
||||
0x7C080200, // 0006 CALL R2 1
|
||||
0x70020000, // 0007 JMP #0009
|
||||
0x4C080000, // 0008 LDNIL R2
|
||||
0x80040400, // 0009 RET 1 R2
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified class: Matter_Plugin_Sensor_Humidity
|
||||
********************************************************************/
|
||||
@ -217,16 +186,24 @@ extern const bclass be_class_Matter_Plugin_Sensor;
|
||||
be_local_class(Matter_Plugin_Sensor_Humidity,
|
||||
0,
|
||||
&be_class_Matter_Plugin_Sensor,
|
||||
be_nested_map(8,
|
||||
be_nested_map(9,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_weak(pre_value, -1), be_const_closure(Matter_Plugin_Sensor_Humidity_pre_value_closure) },
|
||||
{ be_const_key_weak(TYPES, 3), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Humidity) },
|
||||
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(humidity) },
|
||||
{ be_const_key_weak(TYPES, 8), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(1,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(775, -1), be_const_int(2) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(append_state_json, 1), be_const_closure(Matter_Plugin_Sensor_Humidity_append_state_json_closure) },
|
||||
{ be_const_key_weak(CLUSTERS, 7), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
{ be_const_key_weak(UPDATE_COMMANDS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
|
||||
be_const_list( * be_nested_list(1,
|
||||
( (struct bvalue*) &(const bvalue[]) {
|
||||
be_nested_str_weak(Humidity),
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(value_changed, 7), be_const_closure(Matter_Plugin_Sensor_Humidity_value_changed_closure) },
|
||||
{ be_const_key_weak(JSON_NAME, -1), be_nested_str_weak(Humidity) },
|
||||
{ be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_Sensor_Humidity_read_attribute_closure) },
|
||||
{ be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(6,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(5, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
|
||||
@ -287,10 +264,7 @@ be_local_class(Matter_Plugin_Sensor_Humidity,
|
||||
be_const_int(65533),
|
||||
})) ) } )) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(humidity) },
|
||||
{ be_const_key_weak(value_changed, 4), be_const_closure(Matter_Plugin_Sensor_Humidity_value_changed_closure) },
|
||||
{ be_const_key_weak(NAME, -1), be_nested_str_weak(Humidity) },
|
||||
{ be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_Sensor_Humidity_read_attribute_closure) },
|
||||
{ be_const_key_weak(pre_value, -1), be_const_closure(Matter_Plugin_Sensor_Humidity_pre_value_closure) },
|
||||
})),
|
||||
be_str_weak(Matter_Plugin_Sensor_Humidity)
|
||||
);
|
||||
|
@ -6,58 +6,13 @@
|
||||
|
||||
extern const bclass be_class_Matter_Plugin_Sensor_Illuminance;
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: pre_value
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Sensor_Illuminance_pre_value, /* name */
|
||||
be_nested_proto(
|
||||
6, /* nstack */
|
||||
2, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 4]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(math),
|
||||
/* K1 */ be_const_int(0),
|
||||
/* K2 */ be_nested_str_weak(log10),
|
||||
/* K3 */ be_const_int(1),
|
||||
}),
|
||||
be_str_weak(pre_value),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[17]) { /* code */
|
||||
0x4C080000, // 0000 LDNIL R2
|
||||
0x1C080202, // 0001 EQ R2 R1 R2
|
||||
0x780A0001, // 0002 JMPF R2 #0005
|
||||
0x4C080000, // 0003 LDNIL R2
|
||||
0x80040400, // 0004 RET 1 R2
|
||||
0xA40A0000, // 0005 IMPORT R2 K0
|
||||
0x140C0301, // 0006 LT R3 R1 K1
|
||||
0x780E0001, // 0007 JMPF R3 #000A
|
||||
0x80060200, // 0008 RET 1 K1
|
||||
0x70020005, // 0009 JMP #0010
|
||||
0x8C0C0502, // 000A GETMET R3 R2 K2
|
||||
0x00140303, // 000B ADD R5 R1 K3
|
||||
0x7C0C0400, // 000C CALL R3 2
|
||||
0x5412270F, // 000D LDINT R4 10000
|
||||
0x080C0604, // 000E MUL R3 R3 R4
|
||||
0x80040600, // 000F RET 1 R3
|
||||
0x80000000, // 0010 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: value_changed
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Sensor_Illuminance_value_changed, /* name */
|
||||
be_nested_proto(
|
||||
6, /* nstack */
|
||||
2, /* argc */
|
||||
5, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
@ -71,10 +26,10 @@ be_local_closure(Matter_Plugin_Sensor_Illuminance_value_changed, /* name */
|
||||
be_str_weak(value_changed),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 5]) { /* code */
|
||||
0x8C080100, // 0000 GETMET R2 R0 K0
|
||||
0x541203FF, // 0001 LDINT R4 1024
|
||||
0x58140001, // 0002 LDCONST R5 K1
|
||||
0x7C080600, // 0003 CALL R2 3
|
||||
0x8C040100, // 0000 GETMET R1 R0 K0
|
||||
0x540E03FF, // 0001 LDINT R3 1024
|
||||
0x58100001, // 0002 LDCONST R4 K1
|
||||
0x7C040600, // 0003 CALL R1 3
|
||||
0x80000000, // 0004 RET 0
|
||||
})
|
||||
)
|
||||
@ -82,37 +37,6 @@ be_local_closure(Matter_Plugin_Sensor_Illuminance_value_changed, /* name */
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: append_state_json
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Sensor_Illuminance_append_state_json, /* name */
|
||||
be_nested_proto(
|
||||
4, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 2]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(_X2C_X22Illuminance_X22_X3A_X25s),
|
||||
/* K1 */ be_nested_str_weak(shadow_value),
|
||||
}),
|
||||
be_str_weak(append_state_json),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 5]) { /* code */
|
||||
0x60040018, // 0000 GETGBL R1 G24
|
||||
0x58080000, // 0001 LDCONST R2 K0
|
||||
0x880C0101, // 0002 GETMBR R3 R0 K1
|
||||
0x7C040400, // 0003 CALL R1 2
|
||||
0x80040200, // 0004 RET 1 R1
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: read_attribute
|
||||
********************************************************************/
|
||||
@ -222,6 +146,51 @@ be_local_closure(Matter_Plugin_Sensor_Illuminance_read_attribute, /* name */
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: pre_value
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Sensor_Illuminance_pre_value, /* name */
|
||||
be_nested_proto(
|
||||
6, /* nstack */
|
||||
2, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 4]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(math),
|
||||
/* K1 */ be_const_int(0),
|
||||
/* K2 */ be_nested_str_weak(log10),
|
||||
/* K3 */ be_const_int(1),
|
||||
}),
|
||||
be_str_weak(pre_value),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[17]) { /* code */
|
||||
0x4C080000, // 0000 LDNIL R2
|
||||
0x1C080202, // 0001 EQ R2 R1 R2
|
||||
0x780A0001, // 0002 JMPF R2 #0005
|
||||
0x4C080000, // 0003 LDNIL R2
|
||||
0x80040400, // 0004 RET 1 R2
|
||||
0xA40A0000, // 0005 IMPORT R2 K0
|
||||
0x140C0301, // 0006 LT R3 R1 K1
|
||||
0x780E0001, // 0007 JMPF R3 #000A
|
||||
0x80060200, // 0008 RET 1 K1
|
||||
0x70020005, // 0009 JMP #0010
|
||||
0x8C0C0502, // 000A GETMET R3 R2 K2
|
||||
0x00140303, // 000B ADD R5 R1 K3
|
||||
0x7C0C0400, // 000C CALL R3 2
|
||||
0x5412270F, // 000D LDINT R4 10000
|
||||
0x080C0604, // 000E MUL R3 R3 R4
|
||||
0x80040600, // 000F RET 1 R3
|
||||
0x80000000, // 0010 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified class: Matter_Plugin_Sensor_Illuminance
|
||||
********************************************************************/
|
||||
@ -229,16 +198,24 @@ extern const bclass be_class_Matter_Plugin_Sensor;
|
||||
be_local_class(Matter_Plugin_Sensor_Illuminance,
|
||||
0,
|
||||
&be_class_Matter_Plugin_Sensor,
|
||||
be_nested_map(8,
|
||||
be_nested_map(9,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_weak(pre_value, -1), be_const_closure(Matter_Plugin_Sensor_Illuminance_pre_value_closure) },
|
||||
{ be_const_key_weak(TYPES, 3), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Illuminance) },
|
||||
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(illuminance) },
|
||||
{ be_const_key_weak(TYPES, 8), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(1,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(262, -1), be_const_int(2) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(append_state_json, 1), be_const_closure(Matter_Plugin_Sensor_Illuminance_append_state_json_closure) },
|
||||
{ be_const_key_weak(CLUSTERS, 7), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
{ be_const_key_weak(UPDATE_COMMANDS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
|
||||
be_const_list( * be_nested_list(1,
|
||||
( (struct bvalue*) &(const bvalue[]) {
|
||||
be_nested_str_weak(Illuminance),
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(value_changed, 7), be_const_closure(Matter_Plugin_Sensor_Illuminance_value_changed_closure) },
|
||||
{ be_const_key_weak(JSON_NAME, -1), be_nested_str_weak(Illuminance) },
|
||||
{ be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_Sensor_Illuminance_read_attribute_closure) },
|
||||
{ be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(6,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(5, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
|
||||
@ -299,10 +276,7 @@ be_local_class(Matter_Plugin_Sensor_Illuminance,
|
||||
be_const_int(65533),
|
||||
})) ) } )) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(illuminance) },
|
||||
{ be_const_key_weak(value_changed, 4), be_const_closure(Matter_Plugin_Sensor_Illuminance_value_changed_closure) },
|
||||
{ be_const_key_weak(NAME, -1), be_nested_str_weak(Illuminance) },
|
||||
{ be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_Sensor_Illuminance_read_attribute_closure) },
|
||||
{ be_const_key_weak(pre_value, -1), be_const_closure(Matter_Plugin_Sensor_Illuminance_pre_value_closure) },
|
||||
})),
|
||||
be_str_weak(Matter_Plugin_Sensor_Illuminance)
|
||||
);
|
||||
|
@ -34,9 +34,79 @@ be_local_closure(Matter_Plugin_Sensor_Occupancy__X3Clambda_X3E, /* name */
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: parse_configuration
|
||||
** Solidified function: append_state_json
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Sensor_Occupancy_parse_configuration, /* name */
|
||||
be_local_closure(Matter_Plugin_Sensor_Occupancy_append_state_json, /* name */
|
||||
be_nested_proto(
|
||||
5, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 2]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(_X2C_X22Occupancy_X22_X3A_X25s),
|
||||
/* K1 */ be_nested_str_weak(shadow_occupancy),
|
||||
}),
|
||||
be_str_weak(append_state_json),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 7]) { /* code */
|
||||
0x60040018, // 0000 GETGBL R1 G24
|
||||
0x58080000, // 0001 LDCONST R2 K0
|
||||
0x600C0009, // 0002 GETGBL R3 G9
|
||||
0x88100101, // 0003 GETMBR R4 R0 K1
|
||||
0x7C0C0200, // 0004 CALL R3 1
|
||||
0x7C040400, // 0005 CALL R1 2
|
||||
0x80040200, // 0006 RET 1 R1
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: init
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Sensor_Occupancy_init, /* name */
|
||||
be_nested_proto(
|
||||
9, /* nstack */
|
||||
4, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 2]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(init),
|
||||
/* K1 */ be_nested_str_weak(shadow_occupancy),
|
||||
}),
|
||||
be_str_weak(init),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[11]) { /* code */
|
||||
0x60100003, // 0000 GETGBL R4 G3
|
||||
0x5C140000, // 0001 MOVE R5 R0
|
||||
0x7C100200, // 0002 CALL R4 1
|
||||
0x8C100900, // 0003 GETMET R4 R4 K0
|
||||
0x5C180200, // 0004 MOVE R6 R1
|
||||
0x5C1C0400, // 0005 MOVE R7 R2
|
||||
0x5C200600, // 0006 MOVE R8 R3
|
||||
0x7C100800, // 0007 CALL R4 4
|
||||
0x50100000, // 0008 LDBOOL R4 0 0
|
||||
0x90020204, // 0009 SETMBR R0 K1 R4
|
||||
0x80000000, // 000A RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: update_virtual
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Sensor_Occupancy_update_virtual, /* name */
|
||||
be_nested_proto(
|
||||
7, /* nstack */
|
||||
2, /* argc */
|
||||
@ -46,28 +116,120 @@ be_local_closure(Matter_Plugin_Sensor_Occupancy_parse_configuration, /* name *
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 5]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(tasmota_switch_index),
|
||||
/* K1 */ be_nested_str_weak(find),
|
||||
/* K2 */ be_nested_str_weak(ARG),
|
||||
/* K3 */ be_const_int(1),
|
||||
( &(const bvalue[ 6]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(find),
|
||||
/* K1 */ be_nested_str_weak(Occupancy),
|
||||
/* K2 */ be_nested_str_weak(shadow_occupancy),
|
||||
/* K3 */ be_nested_str_weak(attribute_updated),
|
||||
/* K4 */ be_const_int(0),
|
||||
/* K5 */ be_nested_str_weak(update_virtual),
|
||||
}),
|
||||
be_str_weak(parse_configuration),
|
||||
be_str_weak(update_virtual),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[12]) { /* code */
|
||||
0x60080009, // 0000 GETGBL R2 G9
|
||||
0x8C0C0301, // 0001 GETMET R3 R1 K1
|
||||
0x88140102, // 0002 GETMBR R5 R0 K2
|
||||
0x58180003, // 0003 LDCONST R6 K3
|
||||
0x7C0C0600, // 0004 CALL R3 3
|
||||
0x7C080200, // 0005 CALL R2 1
|
||||
0x90020002, // 0006 SETMBR R0 K0 R2
|
||||
0x88080100, // 0007 GETMBR R2 R0 K0
|
||||
0x18080504, // 0008 LE R2 R2 K4
|
||||
0x780A0000, // 0009 JMPF R2 #000B
|
||||
0x90020103, // 000A SETMBR R0 K0 K3
|
||||
0x80000000, // 000B RET 0
|
||||
( &(const binstruction[25]) { /* code */
|
||||
0x8C080300, // 0000 GETMET R2 R1 K0
|
||||
0x58100001, // 0001 LDCONST R4 K1
|
||||
0x7C080400, // 0002 CALL R2 2
|
||||
0x4C0C0000, // 0003 LDNIL R3
|
||||
0x200C0403, // 0004 NE R3 R2 R3
|
||||
0x780E000B, // 0005 JMPF R3 #0012
|
||||
0x600C0017, // 0006 GETGBL R3 G23
|
||||
0x5C100400, // 0007 MOVE R4 R2
|
||||
0x7C0C0200, // 0008 CALL R3 1
|
||||
0x5C080600, // 0009 MOVE R2 R3
|
||||
0x880C0102, // 000A GETMBR R3 R0 K2
|
||||
0x200C0602, // 000B NE R3 R3 R2
|
||||
0x780E0004, // 000C JMPF R3 #0012
|
||||
0x8C0C0103, // 000D GETMET R3 R0 K3
|
||||
0x54160405, // 000E LDINT R5 1030
|
||||
0x58180004, // 000F LDCONST R6 K4
|
||||
0x7C0C0600, // 0010 CALL R3 3
|
||||
0x90020402, // 0011 SETMBR R0 K2 R2
|
||||
0x600C0003, // 0012 GETGBL R3 G3
|
||||
0x5C100000, // 0013 MOVE R4 R0
|
||||
0x7C0C0200, // 0014 CALL R3 1
|
||||
0x8C0C0705, // 0015 GETMET R3 R3 K5
|
||||
0x5C140200, // 0016 MOVE R5 R1
|
||||
0x7C0C0400, // 0017 CALL R3 2
|
||||
0x80000000, // 0018 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: update_shadow
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Sensor_Occupancy_update_shadow, /* name */
|
||||
be_nested_proto(
|
||||
8, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[13]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(update_shadow),
|
||||
/* K1 */ be_nested_str_weak(Switch),
|
||||
/* K2 */ be_nested_str_weak(tasmota_switch_index),
|
||||
/* K3 */ be_nested_str_weak(tasmota),
|
||||
/* K4 */ be_nested_str_weak(cmd),
|
||||
/* K5 */ be_nested_str_weak(Status_X208),
|
||||
/* K6 */ be_nested_str_weak(find),
|
||||
/* K7 */ be_nested_str_weak(StatusSNS),
|
||||
/* K8 */ be_nested_str_weak(contains),
|
||||
/* K9 */ be_nested_str_weak(ON),
|
||||
/* K10 */ be_nested_str_weak(shadow_occupancy),
|
||||
/* K11 */ be_nested_str_weak(attribute_updated),
|
||||
/* K12 */ be_const_int(0),
|
||||
}),
|
||||
be_str_weak(update_shadow),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[41]) { /* code */
|
||||
0x60040003, // 0000 GETGBL R1 G3
|
||||
0x5C080000, // 0001 MOVE R2 R0
|
||||
0x7C040200, // 0002 CALL R1 1
|
||||
0x8C040300, // 0003 GETMET R1 R1 K0
|
||||
0x7C040200, // 0004 CALL R1 1
|
||||
0x60040008, // 0005 GETGBL R1 G8
|
||||
0x88080102, // 0006 GETMBR R2 R0 K2
|
||||
0x7C040200, // 0007 CALL R1 1
|
||||
0x00060201, // 0008 ADD R1 K1 R1
|
||||
0xB80A0600, // 0009 GETNGBL R2 K3
|
||||
0x8C080504, // 000A GETMET R2 R2 K4
|
||||
0x58100005, // 000B LDCONST R4 K5
|
||||
0x50140200, // 000C LDBOOL R5 1 0
|
||||
0x7C080600, // 000D CALL R2 3
|
||||
0x4C0C0000, // 000E LDNIL R3
|
||||
0x200C0403, // 000F NE R3 R2 R3
|
||||
0x780E0003, // 0010 JMPF R3 #0015
|
||||
0x8C0C0506, // 0011 GETMET R3 R2 K6
|
||||
0x58140007, // 0012 LDCONST R5 K7
|
||||
0x7C0C0400, // 0013 CALL R3 2
|
||||
0x5C080600, // 0014 MOVE R2 R3
|
||||
0x4C0C0000, // 0015 LDNIL R3
|
||||
0x200C0403, // 0016 NE R3 R2 R3
|
||||
0x780E000F, // 0017 JMPF R3 #0028
|
||||
0x8C0C0508, // 0018 GETMET R3 R2 K8
|
||||
0x5C140200, // 0019 MOVE R5 R1
|
||||
0x7C0C0400, // 001A CALL R3 2
|
||||
0x780E000B, // 001B JMPF R3 #0028
|
||||
0x8C0C0506, // 001C GETMET R3 R2 K6
|
||||
0x5C140200, // 001D MOVE R5 R1
|
||||
0x7C0C0400, // 001E CALL R3 2
|
||||
0x1C0C0709, // 001F EQ R3 R3 K9
|
||||
0x8810010A, // 0020 GETMBR R4 R0 K10
|
||||
0x20100803, // 0021 NE R4 R4 R3
|
||||
0x78120003, // 0022 JMPF R4 #0027
|
||||
0x8C10010B, // 0023 GETMET R4 R0 K11
|
||||
0x541A0405, // 0024 LDINT R6 1030
|
||||
0x581C000C, // 0025 LDCONST R7 K12
|
||||
0x7C100600, // 0026 CALL R4 3
|
||||
0x90021403, // 0027 SETMBR R0 K10 R3
|
||||
0x80000000, // 0028 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
@ -182,77 +344,40 @@ be_local_closure(Matter_Plugin_Sensor_Occupancy_read_attribute, /* name */
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: update_shadow
|
||||
** Solidified function: parse_configuration
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Sensor_Occupancy_update_shadow, /* name */
|
||||
be_local_closure(Matter_Plugin_Sensor_Occupancy_parse_configuration, /* name */
|
||||
be_nested_proto(
|
||||
8, /* nstack */
|
||||
1, /* argc */
|
||||
7, /* nstack */
|
||||
2, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[13]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(update_shadow),
|
||||
/* K1 */ be_nested_str_weak(Switch),
|
||||
/* K2 */ be_nested_str_weak(tasmota_switch_index),
|
||||
/* K3 */ be_nested_str_weak(tasmota),
|
||||
/* K4 */ be_nested_str_weak(cmd),
|
||||
/* K5 */ be_nested_str_weak(Status_X208),
|
||||
/* K6 */ be_nested_str_weak(find),
|
||||
/* K7 */ be_nested_str_weak(StatusSNS),
|
||||
/* K8 */ be_nested_str_weak(contains),
|
||||
/* K9 */ be_nested_str_weak(ON),
|
||||
/* K10 */ be_nested_str_weak(shadow_occupancy),
|
||||
/* K11 */ be_nested_str_weak(attribute_updated),
|
||||
/* K12 */ be_const_int(0),
|
||||
( &(const bvalue[ 5]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(tasmota_switch_index),
|
||||
/* K1 */ be_nested_str_weak(find),
|
||||
/* K2 */ be_nested_str_weak(ARG),
|
||||
/* K3 */ be_const_int(1),
|
||||
/* K4 */ be_const_int(0),
|
||||
}),
|
||||
be_str_weak(update_shadow),
|
||||
be_str_weak(parse_configuration),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[41]) { /* code */
|
||||
0x60040003, // 0000 GETGBL R1 G3
|
||||
0x5C080000, // 0001 MOVE R2 R0
|
||||
0x7C040200, // 0002 CALL R1 1
|
||||
0x8C040300, // 0003 GETMET R1 R1 K0
|
||||
0x7C040200, // 0004 CALL R1 1
|
||||
0x60040008, // 0005 GETGBL R1 G8
|
||||
0x88080102, // 0006 GETMBR R2 R0 K2
|
||||
0x7C040200, // 0007 CALL R1 1
|
||||
0x00060201, // 0008 ADD R1 K1 R1
|
||||
0xB80A0600, // 0009 GETNGBL R2 K3
|
||||
0x8C080504, // 000A GETMET R2 R2 K4
|
||||
0x58100005, // 000B LDCONST R4 K5
|
||||
0x50140200, // 000C LDBOOL R5 1 0
|
||||
0x7C080600, // 000D CALL R2 3
|
||||
0x4C0C0000, // 000E LDNIL R3
|
||||
0x200C0403, // 000F NE R3 R2 R3
|
||||
0x780E0003, // 0010 JMPF R3 #0015
|
||||
0x8C0C0506, // 0011 GETMET R3 R2 K6
|
||||
0x58140007, // 0012 LDCONST R5 K7
|
||||
0x7C0C0400, // 0013 CALL R3 2
|
||||
0x5C080600, // 0014 MOVE R2 R3
|
||||
0x4C0C0000, // 0015 LDNIL R3
|
||||
0x200C0403, // 0016 NE R3 R2 R3
|
||||
0x780E000F, // 0017 JMPF R3 #0028
|
||||
0x8C0C0508, // 0018 GETMET R3 R2 K8
|
||||
0x5C140200, // 0019 MOVE R5 R1
|
||||
0x7C0C0400, // 001A CALL R3 2
|
||||
0x780E000B, // 001B JMPF R3 #0028
|
||||
0x8C0C0506, // 001C GETMET R3 R2 K6
|
||||
0x5C140200, // 001D MOVE R5 R1
|
||||
0x7C0C0400, // 001E CALL R3 2
|
||||
0x1C0C0709, // 001F EQ R3 R3 K9
|
||||
0x8810010A, // 0020 GETMBR R4 R0 K10
|
||||
0x20100803, // 0021 NE R4 R4 R3
|
||||
0x78120003, // 0022 JMPF R4 #0027
|
||||
0x8C10010B, // 0023 GETMET R4 R0 K11
|
||||
0x541A0405, // 0024 LDINT R6 1030
|
||||
0x581C000C, // 0025 LDCONST R7 K12
|
||||
0x7C100600, // 0026 CALL R4 3
|
||||
0x90021403, // 0027 SETMBR R0 K10 R3
|
||||
0x80000000, // 0028 RET 0
|
||||
( &(const binstruction[12]) { /* code */
|
||||
0x60080009, // 0000 GETGBL R2 G9
|
||||
0x8C0C0301, // 0001 GETMET R3 R1 K1
|
||||
0x88140102, // 0002 GETMBR R5 R0 K2
|
||||
0x58180003, // 0003 LDCONST R6 K3
|
||||
0x7C0C0600, // 0004 CALL R3 3
|
||||
0x7C080200, // 0005 CALL R2 1
|
||||
0x90020002, // 0006 SETMBR R0 K0 R2
|
||||
0x88080100, // 0007 GETMBR R2 R0 K0
|
||||
0x18080504, // 0008 LE R2 R2 K4
|
||||
0x780A0000, // 0009 JMPF R2 #000B
|
||||
0x90020103, // 000A SETMBR R0 K0 K3
|
||||
0x80000000, // 000B RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
@ -266,19 +391,25 @@ extern const bclass be_class_Matter_Plugin_Device;
|
||||
be_local_class(Matter_Plugin_Sensor_Occupancy,
|
||||
2,
|
||||
&be_class_Matter_Plugin_Device,
|
||||
be_nested_map(13,
|
||||
be_nested_map(16,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_weak(ARG, -1), be_nested_str_weak(switch) },
|
||||
{ be_const_key_weak(ARG_TYPE, -1), be_const_static_closure(Matter_Plugin_Sensor_Occupancy__X3Clambda_X3E_closure) },
|
||||
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(occupancy) },
|
||||
{ be_const_key_weak(ARG_HINT, 1), be_nested_str_weak(Switch_X3Cx_X3E_X20number) },
|
||||
{ be_const_key_weak(UPDATE_TIME, -1), be_const_int(750) },
|
||||
{ be_const_key_weak(ARG_TYPE, 4), be_const_static_closure(Matter_Plugin_Sensor_Occupancy__X3Clambda_X3E_closure) },
|
||||
{ be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(Switch_X3Cx_X3E_X20number) },
|
||||
{ be_const_key_weak(append_state_json, -1), be_const_closure(Matter_Plugin_Sensor_Occupancy_append_state_json_closure) },
|
||||
{ be_const_key_weak(init, -1), be_const_closure(Matter_Plugin_Sensor_Occupancy_init_closure) },
|
||||
{ be_const_key_weak(update_virtual, -1), be_const_closure(Matter_Plugin_Sensor_Occupancy_update_virtual_closure) },
|
||||
{ be_const_key_weak(update_shadow, 6), be_const_closure(Matter_Plugin_Sensor_Occupancy_update_shadow_closure) },
|
||||
{ be_const_key_weak(parse_configuration, -1), be_const_closure(Matter_Plugin_Sensor_Occupancy_parse_configuration_closure) },
|
||||
{ be_const_key_weak(tasmota_switch_index, -1), be_const_var(0) },
|
||||
{ be_const_key_weak(shadow_occupancy, 8), be_const_var(1) },
|
||||
{ be_const_key_weak(update_shadow, 5), be_const_closure(Matter_Plugin_Sensor_Occupancy_update_shadow_closure) },
|
||||
{ be_const_key_weak(NAME, 6), be_nested_str_weak(Occupancy) },
|
||||
{ be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
{ be_const_key_weak(ARG, -1), be_nested_str_weak(switch) },
|
||||
{ be_const_key_weak(UPDATE_TIME, -1), be_const_int(750) },
|
||||
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Occupancy) },
|
||||
{ be_const_key_weak(tasmota_switch_index, 11), be_const_var(0) },
|
||||
{ be_const_key_weak(TYPES, 12), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(1,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(263, -1), be_const_int(2) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(CLUSTERS, 14), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(6,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(5, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
|
||||
@ -339,12 +470,9 @@ be_local_class(Matter_Plugin_Sensor_Occupancy,
|
||||
be_const_int(65533),
|
||||
})) ) } )) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(read_attribute, 4), be_const_closure(Matter_Plugin_Sensor_Occupancy_read_attribute_closure) },
|
||||
{ be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(1,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(263, -1), be_const_int(2) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(TYPE, 9), be_nested_str_weak(occupancy) },
|
||||
{ be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_Sensor_Occupancy_read_attribute_closure) },
|
||||
{ be_const_key_weak(shadow_occupancy, -1), be_const_var(1) },
|
||||
})),
|
||||
be_str_weak(Matter_Plugin_Sensor_Occupancy)
|
||||
);
|
||||
|
@ -274,7 +274,7 @@ be_local_class(Matter_Plugin_Sensor_OnOff,
|
||||
&be_class_Matter_Plugin_Device,
|
||||
be_nested_map(14,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_weak(CLUSTERS, 5), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
{ be_const_key_weak(CLUSTERS, 8), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(6,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(6, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
|
||||
@ -337,10 +337,10 @@ be_local_class(Matter_Plugin_Sensor_OnOff,
|
||||
{ be_const_key_weak(UPDATE_TIME, 4), be_const_int(750) },
|
||||
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(onoff) },
|
||||
{ be_const_key_weak(append_state_json, 12), be_const_closure(Matter_Plugin_Sensor_OnOff_append_state_json_closure) },
|
||||
{ be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_Sensor_OnOff_read_attribute_closure) },
|
||||
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(OnOff_X20Sensor) },
|
||||
{ be_const_key_weak(shadow_onoff, -1), be_const_var(1) },
|
||||
{ be_const_key_weak(update_shadow, -1), be_const_closure(Matter_Plugin_Sensor_OnOff_update_shadow_closure) },
|
||||
{ be_const_key_weak(NAME, -1), be_nested_str_weak(OnOff_X20Sensor) },
|
||||
{ be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_Sensor_OnOff_read_attribute_closure) },
|
||||
{ be_const_key_weak(parse_configuration, -1), be_const_closure(Matter_Plugin_Sensor_OnOff_parse_configuration_closure) },
|
||||
{ be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(1,
|
||||
|
@ -6,45 +6,13 @@
|
||||
|
||||
extern const bclass be_class_Matter_Plugin_Sensor_Pressure;
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: pre_value
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Sensor_Pressure_pre_value, /* name */
|
||||
be_nested_proto(
|
||||
4, /* nstack */
|
||||
2, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
0, /* has constants */
|
||||
NULL, /* no const */
|
||||
be_str_weak(pre_value),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 9]) { /* code */
|
||||
0x4C080000, // 0000 LDNIL R2
|
||||
0x20080202, // 0001 NE R2 R1 R2
|
||||
0x780A0003, // 0002 JMPF R2 #0007
|
||||
0x60080009, // 0003 GETGBL R2 G9
|
||||
0x5C0C0200, // 0004 MOVE R3 R1
|
||||
0x7C080200, // 0005 CALL R2 1
|
||||
0x70020000, // 0006 JMP #0008
|
||||
0x4C080000, // 0007 LDNIL R2
|
||||
0x80040400, // 0008 RET 1 R2
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: value_changed
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Sensor_Pressure_value_changed, /* name */
|
||||
be_nested_proto(
|
||||
6, /* nstack */
|
||||
2, /* argc */
|
||||
5, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
@ -58,10 +26,10 @@ be_local_closure(Matter_Plugin_Sensor_Pressure_value_changed, /* name */
|
||||
be_str_weak(value_changed),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 5]) { /* code */
|
||||
0x8C080100, // 0000 GETMET R2 R0 K0
|
||||
0x54120402, // 0001 LDINT R4 1027
|
||||
0x58140001, // 0002 LDCONST R5 K1
|
||||
0x7C080600, // 0003 CALL R2 3
|
||||
0x8C040100, // 0000 GETMET R1 R0 K0
|
||||
0x540E0402, // 0001 LDINT R3 1027
|
||||
0x58100001, // 0002 LDCONST R4 K1
|
||||
0x7C040600, // 0003 CALL R1 3
|
||||
0x80000000, // 0004 RET 0
|
||||
})
|
||||
)
|
||||
@ -69,37 +37,6 @@ be_local_closure(Matter_Plugin_Sensor_Pressure_value_changed, /* name */
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: append_state_json
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Sensor_Pressure_append_state_json, /* name */
|
||||
be_nested_proto(
|
||||
4, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 2]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(_X2C_X22Pressure_X22_X3A_X25s),
|
||||
/* K1 */ be_nested_str_weak(shadow_value),
|
||||
}),
|
||||
be_str_weak(append_state_json),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 5]) { /* code */
|
||||
0x60040018, // 0000 GETGBL R1 G24
|
||||
0x58080000, // 0001 LDCONST R2 K0
|
||||
0x880C0101, // 0002 GETMBR R3 R0 K1
|
||||
0x7C040400, // 0003 CALL R1 2
|
||||
0x80040200, // 0004 RET 1 R1
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: read_attribute
|
||||
********************************************************************/
|
||||
@ -209,6 +146,38 @@ be_local_closure(Matter_Plugin_Sensor_Pressure_read_attribute, /* name */
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: pre_value
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Sensor_Pressure_pre_value, /* name */
|
||||
be_nested_proto(
|
||||
4, /* nstack */
|
||||
2, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
0, /* has constants */
|
||||
NULL, /* no const */
|
||||
be_str_weak(pre_value),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 9]) { /* code */
|
||||
0x4C080000, // 0000 LDNIL R2
|
||||
0x20080202, // 0001 NE R2 R1 R2
|
||||
0x780A0003, // 0002 JMPF R2 #0007
|
||||
0x60080009, // 0003 GETGBL R2 G9
|
||||
0x5C0C0200, // 0004 MOVE R3 R1
|
||||
0x7C080200, // 0005 CALL R2 1
|
||||
0x70020000, // 0006 JMP #0008
|
||||
0x4C080000, // 0007 LDNIL R2
|
||||
0x80040400, // 0008 RET 1 R2
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified class: Matter_Plugin_Sensor_Pressure
|
||||
********************************************************************/
|
||||
@ -216,16 +185,24 @@ extern const bclass be_class_Matter_Plugin_Sensor;
|
||||
be_local_class(Matter_Plugin_Sensor_Pressure,
|
||||
0,
|
||||
&be_class_Matter_Plugin_Sensor,
|
||||
be_nested_map(8,
|
||||
be_nested_map(9,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_weak(pre_value, -1), be_const_closure(Matter_Plugin_Sensor_Pressure_pre_value_closure) },
|
||||
{ be_const_key_weak(TYPES, 3), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Pressure) },
|
||||
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(pressure) },
|
||||
{ be_const_key_weak(TYPES, 8), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(1,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(773, -1), be_const_int(2) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(append_state_json, 1), be_const_closure(Matter_Plugin_Sensor_Pressure_append_state_json_closure) },
|
||||
{ be_const_key_weak(CLUSTERS, 7), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
{ be_const_key_weak(UPDATE_COMMANDS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
|
||||
be_const_list( * be_nested_list(1,
|
||||
( (struct bvalue*) &(const bvalue[]) {
|
||||
be_nested_str_weak(Pressure),
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(value_changed, 7), be_const_closure(Matter_Plugin_Sensor_Pressure_value_changed_closure) },
|
||||
{ be_const_key_weak(JSON_NAME, -1), be_nested_str_weak(Pressure) },
|
||||
{ be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_Sensor_Pressure_read_attribute_closure) },
|
||||
{ be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(6,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(5, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
|
||||
@ -286,10 +263,7 @@ be_local_class(Matter_Plugin_Sensor_Pressure,
|
||||
be_const_int(65533),
|
||||
})) ) } )) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(pressure) },
|
||||
{ be_const_key_weak(value_changed, 4), be_const_closure(Matter_Plugin_Sensor_Pressure_value_changed_closure) },
|
||||
{ be_const_key_weak(NAME, -1), be_nested_str_weak(Pressure) },
|
||||
{ be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_Sensor_Pressure_read_attribute_closure) },
|
||||
{ be_const_key_weak(pre_value, -1), be_const_closure(Matter_Plugin_Sensor_Pressure_pre_value_closure) },
|
||||
})),
|
||||
be_str_weak(Matter_Plugin_Sensor_Pressure)
|
||||
);
|
||||
|
@ -6,61 +6,13 @@
|
||||
|
||||
extern const bclass be_class_Matter_Plugin_Sensor_Temp;
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: pre_value
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Sensor_Temp_pre_value, /* name */
|
||||
be_nested_proto(
|
||||
5, /* nstack */
|
||||
2, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 4]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(tasmota),
|
||||
/* K1 */ be_nested_str_weak(get_option),
|
||||
/* K2 */ be_const_int(1),
|
||||
/* K3 */ be_const_real_hex(0x3FE66666),
|
||||
}),
|
||||
be_str_weak(pre_value),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[20]) { /* code */
|
||||
0xB80A0000, // 0000 GETNGBL R2 K0
|
||||
0x8C080501, // 0001 GETMET R2 R2 K1
|
||||
0x54120007, // 0002 LDINT R4 8
|
||||
0x7C080400, // 0003 CALL R2 2
|
||||
0x1C080502, // 0004 EQ R2 R2 K2
|
||||
0x780A0003, // 0005 JMPF R2 #000A
|
||||
0x540A001F, // 0006 LDINT R2 32
|
||||
0x04080202, // 0007 SUB R2 R1 R2
|
||||
0x0C080503, // 0008 DIV R2 R2 K3
|
||||
0x5C040400, // 0009 MOVE R1 R2
|
||||
0x4C080000, // 000A LDNIL R2
|
||||
0x20080202, // 000B NE R2 R1 R2
|
||||
0x780A0004, // 000C JMPF R2 #0012
|
||||
0x60080009, // 000D GETGBL R2 G9
|
||||
0x540E0063, // 000E LDINT R3 100
|
||||
0x080C0203, // 000F MUL R3 R1 R3
|
||||
0x7C080200, // 0010 CALL R2 1
|
||||
0x70020000, // 0011 JMP #0013
|
||||
0x4C080000, // 0012 LDNIL R2
|
||||
0x80040400, // 0013 RET 1 R2
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: value_changed
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Sensor_Temp_value_changed, /* name */
|
||||
be_nested_proto(
|
||||
6, /* nstack */
|
||||
2, /* argc */
|
||||
5, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
@ -74,10 +26,10 @@ be_local_closure(Matter_Plugin_Sensor_Temp_value_changed, /* name */
|
||||
be_str_weak(value_changed),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 5]) { /* code */
|
||||
0x8C080100, // 0000 GETMET R2 R0 K0
|
||||
0x54120401, // 0001 LDINT R4 1026
|
||||
0x58140001, // 0002 LDCONST R5 K1
|
||||
0x7C080600, // 0003 CALL R2 3
|
||||
0x8C040100, // 0000 GETMET R1 R0 K0
|
||||
0x540E0401, // 0001 LDINT R3 1026
|
||||
0x58100001, // 0002 LDCONST R4 K1
|
||||
0x7C040600, // 0003 CALL R1 3
|
||||
0x80000000, // 0004 RET 0
|
||||
})
|
||||
)
|
||||
@ -85,37 +37,6 @@ be_local_closure(Matter_Plugin_Sensor_Temp_value_changed, /* name */
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: append_state_json
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Sensor_Temp_append_state_json, /* name */
|
||||
be_nested_proto(
|
||||
4, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 2]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(_X2C_X22Temperature_X22_X3A_X25s),
|
||||
/* K1 */ be_nested_str_weak(shadow_value),
|
||||
}),
|
||||
be_str_weak(append_state_json),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 5]) { /* code */
|
||||
0x60040018, // 0000 GETGBL R1 G24
|
||||
0x58080000, // 0001 LDCONST R2 K0
|
||||
0x880C0101, // 0002 GETMBR R3 R0 K1
|
||||
0x7C040400, // 0003 CALL R1 2
|
||||
0x80040200, // 0004 RET 1 R1
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: read_attribute
|
||||
********************************************************************/
|
||||
@ -222,6 +143,54 @@ be_local_closure(Matter_Plugin_Sensor_Temp_read_attribute, /* name */
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: pre_value
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Sensor_Temp_pre_value, /* name */
|
||||
be_nested_proto(
|
||||
5, /* nstack */
|
||||
2, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 4]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(tasmota),
|
||||
/* K1 */ be_nested_str_weak(get_option),
|
||||
/* K2 */ be_const_int(1),
|
||||
/* K3 */ be_const_real_hex(0x3FE66666),
|
||||
}),
|
||||
be_str_weak(pre_value),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[20]) { /* code */
|
||||
0xB80A0000, // 0000 GETNGBL R2 K0
|
||||
0x8C080501, // 0001 GETMET R2 R2 K1
|
||||
0x54120007, // 0002 LDINT R4 8
|
||||
0x7C080400, // 0003 CALL R2 2
|
||||
0x1C080502, // 0004 EQ R2 R2 K2
|
||||
0x780A0003, // 0005 JMPF R2 #000A
|
||||
0x540A001F, // 0006 LDINT R2 32
|
||||
0x04080202, // 0007 SUB R2 R1 R2
|
||||
0x0C080503, // 0008 DIV R2 R2 K3
|
||||
0x5C040400, // 0009 MOVE R1 R2
|
||||
0x4C080000, // 000A LDNIL R2
|
||||
0x20080202, // 000B NE R2 R1 R2
|
||||
0x780A0004, // 000C JMPF R2 #0012
|
||||
0x60080009, // 000D GETGBL R2 G9
|
||||
0x540E0063, // 000E LDINT R3 100
|
||||
0x080C0203, // 000F MUL R3 R1 R3
|
||||
0x7C080200, // 0010 CALL R2 1
|
||||
0x70020000, // 0011 JMP #0013
|
||||
0x4C080000, // 0012 LDNIL R2
|
||||
0x80040400, // 0013 RET 1 R2
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified class: Matter_Plugin_Sensor_Temp
|
||||
********************************************************************/
|
||||
@ -229,16 +198,24 @@ extern const bclass be_class_Matter_Plugin_Sensor;
|
||||
be_local_class(Matter_Plugin_Sensor_Temp,
|
||||
0,
|
||||
&be_class_Matter_Plugin_Sensor,
|
||||
be_nested_map(8,
|
||||
be_nested_map(9,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_weak(pre_value, -1), be_const_closure(Matter_Plugin_Sensor_Temp_pre_value_closure) },
|
||||
{ be_const_key_weak(TYPES, 3), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Temperature) },
|
||||
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(temperature) },
|
||||
{ be_const_key_weak(TYPES, 8), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(1,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(770, -1), be_const_int(2) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(append_state_json, 1), be_const_closure(Matter_Plugin_Sensor_Temp_append_state_json_closure) },
|
||||
{ be_const_key_weak(CLUSTERS, 7), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
{ be_const_key_weak(UPDATE_COMMANDS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
|
||||
be_const_list( * be_nested_list(1,
|
||||
( (struct bvalue*) &(const bvalue[]) {
|
||||
be_nested_str_weak(Temperature),
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(value_changed, 7), be_const_closure(Matter_Plugin_Sensor_Temp_value_changed_closure) },
|
||||
{ be_const_key_weak(JSON_NAME, -1), be_nested_str_weak(Temperature) },
|
||||
{ be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_Sensor_Temp_read_attribute_closure) },
|
||||
{ be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(6,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(1026, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
|
||||
@ -299,10 +276,7 @@ be_local_class(Matter_Plugin_Sensor_Temp,
|
||||
be_const_int(65533),
|
||||
})) ) } )) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(temperature) },
|
||||
{ be_const_key_weak(value_changed, 4), be_const_closure(Matter_Plugin_Sensor_Temp_value_changed_closure) },
|
||||
{ be_const_key_weak(NAME, -1), be_nested_str_weak(Temperature) },
|
||||
{ be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_Sensor_Temp_read_attribute_closure) },
|
||||
{ be_const_key_weak(pre_value, -1), be_const_closure(Matter_Plugin_Sensor_Temp_pre_value_closure) },
|
||||
})),
|
||||
be_str_weak(Matter_Plugin_Sensor_Temp)
|
||||
);
|
||||
|
@ -433,10 +433,10 @@ be_local_class(Matter_Plugin_ShutterTilt,
|
||||
be_nested_map(10,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_weak(update_tilt_min_max, -1), be_const_closure(Matter_Plugin_ShutterTilt_update_tilt_min_max_closure) },
|
||||
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(shutter_X2Btilt) },
|
||||
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Shutter_X20_X2B_X20Tilt) },
|
||||
{ be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_ShutterTilt_read_attribute_closure) },
|
||||
{ be_const_key_weak(shadow_shutter_tilt, -1), be_const_var(0) },
|
||||
{ be_const_key_weak(CLUSTERS, 8), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(shutter_X2Btilt) },
|
||||
{ be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(6,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(258, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
|
||||
@ -506,11 +506,11 @@ be_local_class(Matter_Plugin_ShutterTilt,
|
||||
be_const_int(65533),
|
||||
})) ) } )) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(tilt_min, 3), be_const_var(1) },
|
||||
{ be_const_key_weak(tilt_min, 8), be_const_var(1) },
|
||||
{ be_const_key_weak(parse_sensors, -1), be_const_closure(Matter_Plugin_ShutterTilt_parse_sensors_closure) },
|
||||
{ be_const_key_weak(invoke_request, -1), be_const_closure(Matter_Plugin_ShutterTilt_invoke_request_closure) },
|
||||
{ be_const_key_weak(NAME, -1), be_nested_str_weak(Shutter_X20_X2B_X20Tilt) },
|
||||
{ be_const_key_weak(tilt_max, 1), be_const_var(2) },
|
||||
{ be_const_key_weak(shadow_shutter_tilt, -1), be_const_var(0) },
|
||||
{ be_const_key_weak(tilt_max, 3), be_const_var(2) },
|
||||
})),
|
||||
be_str_weak(Matter_Plugin_ShutterTilt)
|
||||
);
|
||||
|
@ -546,14 +546,14 @@ be_local_class(Matter_Plugin_Bridge_Light1,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_weak(web_value_dimmer, -1), be_const_closure(Matter_Plugin_Bridge_Light1_web_value_dimmer_closure) },
|
||||
{ be_const_key_weak(parse_update, -1), be_const_closure(Matter_Plugin_Bridge_Light1_parse_update_closure) },
|
||||
{ be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(http_light1) },
|
||||
{ be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_Bridge_Light1_read_attribute_closure) },
|
||||
{ be_const_key_weak(TYPES, 2), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(1,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(257, -1), be_const_int(2) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_Bridge_Light1_read_attribute_closure) },
|
||||
{ be_const_key_weak(TYPE, 2), be_nested_str_weak(http_light1) },
|
||||
{ be_const_key_weak(shadow_bri, 8), be_const_var(0) },
|
||||
{ be_const_key_weak(shadow_bri, -1), be_const_var(0) },
|
||||
{ be_const_key_weak(CLUSTERS, 5), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(7,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
@ -625,7 +625,7 @@ be_local_class(Matter_Plugin_Bridge_Light1,
|
||||
})) ) } )) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(set_bri, -1), be_const_closure(Matter_Plugin_Bridge_Light1_set_bri_closure) },
|
||||
{ be_const_key_weak(NAME, -1), be_nested_str_weak(Light_X201_X20Dimmer) },
|
||||
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Light_X201_X20Dimmer) },
|
||||
{ be_const_key_weak(web_values, 1), be_const_closure(Matter_Plugin_Bridge_Light1_web_values_closure) },
|
||||
{ be_const_key_weak(invoke_request, 0), be_const_closure(Matter_Plugin_Bridge_Light1_invoke_request_closure) },
|
||||
})),
|
||||
|
@ -64,10 +64,10 @@ be_local_class(Matter_Plugin_Bridge_OnOff,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(266, -1), be_const_int(2) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(NAME, -1), be_nested_str_weak(Relay) },
|
||||
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Relay) },
|
||||
{ be_const_key_weak(web_values, -1), be_const_closure(Matter_Plugin_Bridge_OnOff_web_values_closure) },
|
||||
{ be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(Relay_X3Cx_X3E_X20number) },
|
||||
{ be_const_key_weak(TYPE, 1), be_nested_str_weak(http_relay) },
|
||||
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(http_relay) },
|
||||
})),
|
||||
be_str_weak(Matter_Plugin_Bridge_OnOff)
|
||||
);
|
||||
|
@ -344,11 +344,11 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Contact,
|
||||
{ be_const_key_weak(init, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Contact_init_closure) },
|
||||
{ be_const_key_weak(web_values_prefix, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Contact_web_values_prefix_closure) },
|
||||
{ be_const_key_weak(web_values, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Contact_web_values_closure) },
|
||||
{ be_const_key_weak(NAME, -1), be_nested_str_weak(Contact) },
|
||||
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Contact) },
|
||||
{ be_const_key_weak(ARG, -1), be_nested_str_weak(switch) },
|
||||
{ be_const_key_weak(UPDATE_TIME, 14), be_const_int(5000) },
|
||||
{ be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Contact_read_attribute_closure) },
|
||||
{ be_const_key_weak(CLUSTERS, 11), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
{ be_const_key_weak(parse_update, 11), be_const_closure(Matter_Plugin_Bridge_Sensor_Contact_parse_update_closure) },
|
||||
{ be_const_key_weak(read_attribute, 12), be_const_closure(Matter_Plugin_Bridge_Sensor_Contact_read_attribute_closure) },
|
||||
{ be_const_key_weak(CLUSTERS, 9), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(6,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(5, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
|
||||
@ -407,14 +407,14 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Contact,
|
||||
be_const_int(65533),
|
||||
})) ) } )) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(TYPES, 12), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
{ be_const_key_weak(UPDATE_TIME, -1), be_const_int(5000) },
|
||||
{ be_const_key_weak(TYPES, 14), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(1,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(21, -1), be_const_int(1) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(tasmota_switch_index, 9), be_const_var(0) },
|
||||
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(http_contact) },
|
||||
{ be_const_key_weak(parse_update, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Contact_parse_update_closure) },
|
||||
{ be_const_key_weak(TYPE, 6), be_nested_str_weak(http_contact) },
|
||||
{ be_const_key_weak(tasmota_switch_index, -1), be_const_var(0) },
|
||||
{ be_const_key_weak(UPDATE_CMD, -1), be_nested_str_weak(Status_X208) },
|
||||
})),
|
||||
be_str_weak(Matter_Plugin_Bridge_Sensor_Contact)
|
||||
|
@ -39,6 +39,37 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Humidity_pre_value, /* name */
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: value_changed
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_Sensor_Humidity_value_changed, /* name */
|
||||
be_nested_proto(
|
||||
5, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 2]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(attribute_updated),
|
||||
/* K1 */ be_const_int(0),
|
||||
}),
|
||||
be_str_weak(value_changed),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 5]) { /* code */
|
||||
0x8C040100, // 0000 GETMET R1 R0 K0
|
||||
0x540E0404, // 0001 LDINT R3 1029
|
||||
0x58100001, // 0002 LDCONST R4 K1
|
||||
0x7C040600, // 0003 CALL R1 3
|
||||
0x80000000, // 0004 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: read_attribute
|
||||
********************************************************************/
|
||||
@ -148,37 +179,6 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Humidity_read_attribute, /* name
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: value_changed
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_Sensor_Humidity_value_changed, /* name */
|
||||
be_nested_proto(
|
||||
6, /* nstack */
|
||||
2, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 2]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(attribute_updated),
|
||||
/* K1 */ be_const_int(0),
|
||||
}),
|
||||
be_str_weak(value_changed),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 5]) { /* code */
|
||||
0x8C080100, // 0000 GETMET R2 R0 K0
|
||||
0x54120404, // 0001 LDINT R4 1029
|
||||
0x58140001, // 0002 LDCONST R5 K1
|
||||
0x7C080600, // 0003 CALL R2 3
|
||||
0x80000000, // 0004 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: web_values
|
||||
********************************************************************/
|
||||
@ -239,7 +239,16 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Humidity,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_weak(pre_value, 1), be_const_closure(Matter_Plugin_Bridge_Sensor_Humidity_pre_value_closure) },
|
||||
{ be_const_key_weak(web_values, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Humidity_web_values_closure) },
|
||||
{ be_const_key_weak(CLUSTERS, 3), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
{ be_const_key_weak(TYPES, 3), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(1,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(775, -1), be_const_int(2) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(read_attribute, 7), be_const_closure(Matter_Plugin_Bridge_Sensor_Humidity_read_attribute_closure) },
|
||||
{ be_const_key_weak(value_changed, 6), be_const_closure(Matter_Plugin_Bridge_Sensor_Humidity_value_changed_closure) },
|
||||
{ be_const_key_weak(DISPLAY_NAME, 4), be_nested_str_weak(Humidity) },
|
||||
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(http_humidity) },
|
||||
{ be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(6,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(5, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
|
||||
@ -299,15 +308,6 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Humidity,
|
||||
be_const_int(65532),
|
||||
be_const_int(65533),
|
||||
})) ) } )) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(read_attribute, 7), be_const_closure(Matter_Plugin_Bridge_Sensor_Humidity_read_attribute_closure) },
|
||||
{ be_const_key_weak(value_changed, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Humidity_value_changed_closure) },
|
||||
{ be_const_key_weak(TYPE, 4), be_nested_str_weak(http_humidity) },
|
||||
{ be_const_key_weak(NAME, -1), be_nested_str_weak(Humidity) },
|
||||
{ be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(1,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(775, -1), be_const_int(2) },
|
||||
})) ) } )) },
|
||||
})),
|
||||
be_str_weak(Matter_Plugin_Bridge_Sensor_Humidity)
|
||||
|
@ -51,6 +51,37 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Illuminance_pre_value, /* name */
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: value_changed
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_Sensor_Illuminance_value_changed, /* name */
|
||||
be_nested_proto(
|
||||
5, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 2]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(attribute_updated),
|
||||
/* K1 */ be_const_int(0),
|
||||
}),
|
||||
be_str_weak(value_changed),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 5]) { /* code */
|
||||
0x8C040100, // 0000 GETMET R1 R0 K0
|
||||
0x540E03FF, // 0001 LDINT R3 1024
|
||||
0x58100001, // 0002 LDCONST R4 K1
|
||||
0x7C040600, // 0003 CALL R1 3
|
||||
0x80000000, // 0004 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: read_attribute
|
||||
********************************************************************/
|
||||
@ -160,37 +191,6 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Illuminance_read_attribute, /* na
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: value_changed
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_Sensor_Illuminance_value_changed, /* name */
|
||||
be_nested_proto(
|
||||
6, /* nstack */
|
||||
2, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 2]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(attribute_updated),
|
||||
/* K1 */ be_const_int(0),
|
||||
}),
|
||||
be_str_weak(value_changed),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 5]) { /* code */
|
||||
0x8C080100, // 0000 GETMET R2 R0 K0
|
||||
0x541203FF, // 0001 LDINT R4 1024
|
||||
0x58140001, // 0002 LDCONST R5 K1
|
||||
0x7C080600, // 0003 CALL R2 3
|
||||
0x80000000, // 0004 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: web_values
|
||||
********************************************************************/
|
||||
@ -243,7 +243,16 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Illuminance,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_weak(pre_value, 1), be_const_closure(Matter_Plugin_Bridge_Sensor_Illuminance_pre_value_closure) },
|
||||
{ be_const_key_weak(web_values, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Illuminance_web_values_closure) },
|
||||
{ be_const_key_weak(CLUSTERS, 3), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
{ be_const_key_weak(TYPES, 3), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(1,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(262, -1), be_const_int(2) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(read_attribute, 7), be_const_closure(Matter_Plugin_Bridge_Sensor_Illuminance_read_attribute_closure) },
|
||||
{ be_const_key_weak(value_changed, 6), be_const_closure(Matter_Plugin_Bridge_Sensor_Illuminance_value_changed_closure) },
|
||||
{ be_const_key_weak(DISPLAY_NAME, 4), be_nested_str_weak(Illuminance) },
|
||||
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(http_illuminance) },
|
||||
{ be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(6,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(5, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
|
||||
@ -303,15 +312,6 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Illuminance,
|
||||
be_const_int(65532),
|
||||
be_const_int(65533),
|
||||
})) ) } )) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(read_attribute, 7), be_const_closure(Matter_Plugin_Bridge_Sensor_Illuminance_read_attribute_closure) },
|
||||
{ be_const_key_weak(value_changed, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Illuminance_value_changed_closure) },
|
||||
{ be_const_key_weak(TYPE, 4), be_nested_str_weak(http_illuminance) },
|
||||
{ be_const_key_weak(NAME, -1), be_nested_str_weak(Illuminance) },
|
||||
{ be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(1,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(262, -1), be_const_int(2) },
|
||||
})) ) } )) },
|
||||
})),
|
||||
be_str_weak(Matter_Plugin_Bridge_Sensor_Illuminance)
|
||||
|
@ -357,14 +357,18 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Occupancy,
|
||||
be_nested_map(16,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_weak(ARG_TYPE, 4), be_const_static_closure(Matter_Plugin_Bridge_Sensor_Occupancy__X3Clambda_X3E_closure) },
|
||||
{ be_const_key_weak(ARG_HINT, 14), be_nested_str_weak(Switch_X3Cx_X3E_X20number) },
|
||||
{ be_const_key_weak(ARG_HINT, 12), be_nested_str_weak(Switch_X3Cx_X3E_X20number) },
|
||||
{ be_const_key_weak(shadow_occupancy, -1), be_const_var(1) },
|
||||
{ be_const_key_weak(init, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Occupancy_init_closure) },
|
||||
{ be_const_key_weak(web_values, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Occupancy_web_values_closure) },
|
||||
{ be_const_key_weak(UPDATE_TIME, -1), be_const_int(5000) },
|
||||
{ be_const_key_weak(NAME, -1), be_nested_str_weak(Occupancy) },
|
||||
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Occupancy) },
|
||||
{ be_const_key_weak(TYPES, 9), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(1,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(263, -1), be_const_int(2) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(ARG, -1), be_nested_str_weak(switch) },
|
||||
{ be_const_key_weak(parse_update, 5), be_const_closure(Matter_Plugin_Bridge_Sensor_Occupancy_parse_update_closure) },
|
||||
{ be_const_key_weak(parse_update, 14), be_const_closure(Matter_Plugin_Bridge_Sensor_Occupancy_parse_update_closure) },
|
||||
{ be_const_key_weak(CLUSTERS, 11), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(6,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
@ -426,15 +430,11 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Occupancy,
|
||||
be_const_int(65533),
|
||||
})) ) } )) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(tasmota_switch_index, 9), be_const_var(0) },
|
||||
{ be_const_key_weak(read_attribute, 12), be_const_closure(Matter_Plugin_Bridge_Sensor_Occupancy_read_attribute_closure) },
|
||||
{ be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(1,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(263, -1), be_const_int(2) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(http_occupancy) },
|
||||
{ be_const_key_weak(tasmota_switch_index, 6), be_const_var(0) },
|
||||
{ be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Occupancy_read_attribute_closure) },
|
||||
{ be_const_key_weak(web_values_prefix, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Occupancy_web_values_prefix_closure) },
|
||||
{ be_const_key_weak(TYPE, 5), be_nested_str_weak(http_occupancy) },
|
||||
{ be_const_key_weak(UPDATE_TIME, -1), be_const_int(5000) },
|
||||
{ be_const_key_weak(UPDATE_CMD, 2), be_nested_str_weak(Status_X208) },
|
||||
})),
|
||||
be_str_weak(Matter_Plugin_Bridge_Sensor_Occupancy)
|
||||
|
@ -38,6 +38,37 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Pressure_pre_value, /* name */
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: value_changed
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_Sensor_Pressure_value_changed, /* name */
|
||||
be_nested_proto(
|
||||
5, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 2]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(attribute_updated),
|
||||
/* K1 */ be_const_int(0),
|
||||
}),
|
||||
be_str_weak(value_changed),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 5]) { /* code */
|
||||
0x8C040100, // 0000 GETMET R1 R0 K0
|
||||
0x540E0402, // 0001 LDINT R3 1027
|
||||
0x58100001, // 0002 LDCONST R4 K1
|
||||
0x7C040600, // 0003 CALL R1 3
|
||||
0x80000000, // 0004 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: read_attribute
|
||||
********************************************************************/
|
||||
@ -147,37 +178,6 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Pressure_read_attribute, /* name
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: value_changed
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_Sensor_Pressure_value_changed, /* name */
|
||||
be_nested_proto(
|
||||
6, /* nstack */
|
||||
2, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 2]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(attribute_updated),
|
||||
/* K1 */ be_const_int(0),
|
||||
}),
|
||||
be_str_weak(value_changed),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 5]) { /* code */
|
||||
0x8C080100, // 0000 GETMET R2 R0 K0
|
||||
0x54120402, // 0001 LDINT R4 1027
|
||||
0x58140001, // 0002 LDCONST R5 K1
|
||||
0x7C080600, // 0003 CALL R2 3
|
||||
0x80000000, // 0004 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: web_values
|
||||
********************************************************************/
|
||||
@ -230,7 +230,16 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Pressure,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_weak(pre_value, 1), be_const_closure(Matter_Plugin_Bridge_Sensor_Pressure_pre_value_closure) },
|
||||
{ be_const_key_weak(web_values, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Pressure_web_values_closure) },
|
||||
{ be_const_key_weak(CLUSTERS, 3), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
{ be_const_key_weak(TYPES, 3), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(1,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(773, -1), be_const_int(2) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(read_attribute, 7), be_const_closure(Matter_Plugin_Bridge_Sensor_Pressure_read_attribute_closure) },
|
||||
{ be_const_key_weak(value_changed, 6), be_const_closure(Matter_Plugin_Bridge_Sensor_Pressure_value_changed_closure) },
|
||||
{ be_const_key_weak(DISPLAY_NAME, 4), be_nested_str_weak(Pressure) },
|
||||
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(http_pressure) },
|
||||
{ be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(6,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(5, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
|
||||
@ -290,15 +299,6 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Pressure,
|
||||
be_const_int(65532),
|
||||
be_const_int(65533),
|
||||
})) ) } )) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(read_attribute, 7), be_const_closure(Matter_Plugin_Bridge_Sensor_Pressure_read_attribute_closure) },
|
||||
{ be_const_key_weak(value_changed, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Pressure_value_changed_closure) },
|
||||
{ be_const_key_weak(TYPE, 4), be_nested_str_weak(http_pressure) },
|
||||
{ be_const_key_weak(NAME, -1), be_nested_str_weak(Pressure) },
|
||||
{ be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(1,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(773, -1), be_const_int(2) },
|
||||
})) ) } )) },
|
||||
})),
|
||||
be_str_weak(Matter_Plugin_Bridge_Sensor_Pressure)
|
||||
|
@ -51,6 +51,37 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Temp_pre_value, /* name */
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: value_changed
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_Sensor_Temp_value_changed, /* name */
|
||||
be_nested_proto(
|
||||
5, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 2]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(attribute_updated),
|
||||
/* K1 */ be_const_int(0),
|
||||
}),
|
||||
be_str_weak(value_changed),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 5]) { /* code */
|
||||
0x8C040100, // 0000 GETMET R1 R0 K0
|
||||
0x540E0401, // 0001 LDINT R3 1026
|
||||
0x58100001, // 0002 LDCONST R4 K1
|
||||
0x7C040600, // 0003 CALL R1 3
|
||||
0x80000000, // 0004 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: read_attribute
|
||||
********************************************************************/
|
||||
@ -157,37 +188,6 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Temp_read_attribute, /* name */
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: value_changed
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_Sensor_Temp_value_changed, /* name */
|
||||
be_nested_proto(
|
||||
6, /* nstack */
|
||||
2, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 2]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(attribute_updated),
|
||||
/* K1 */ be_const_int(0),
|
||||
}),
|
||||
be_str_weak(value_changed),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 5]) { /* code */
|
||||
0x8C080100, // 0000 GETMET R2 R0 K0
|
||||
0x54120401, // 0001 LDINT R4 1026
|
||||
0x58140001, // 0002 LDCONST R5 K1
|
||||
0x7C080600, // 0003 CALL R2 3
|
||||
0x80000000, // 0004 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: web_values
|
||||
********************************************************************/
|
||||
@ -248,7 +248,16 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Temp,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_weak(pre_value, 1), be_const_closure(Matter_Plugin_Bridge_Sensor_Temp_pre_value_closure) },
|
||||
{ be_const_key_weak(web_values, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Temp_web_values_closure) },
|
||||
{ be_const_key_weak(CLUSTERS, 3), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
{ be_const_key_weak(TYPES, 3), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(1,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(770, -1), be_const_int(2) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(read_attribute, 7), be_const_closure(Matter_Plugin_Bridge_Sensor_Temp_read_attribute_closure) },
|
||||
{ be_const_key_weak(value_changed, 6), be_const_closure(Matter_Plugin_Bridge_Sensor_Temp_value_changed_closure) },
|
||||
{ be_const_key_weak(DISPLAY_NAME, 4), be_nested_str_weak(Temperature) },
|
||||
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(http_temperature) },
|
||||
{ be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(6,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(1026, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
|
||||
@ -308,15 +317,6 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Temp,
|
||||
be_const_int(65532),
|
||||
be_const_int(65533),
|
||||
})) ) } )) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(read_attribute, 7), be_const_closure(Matter_Plugin_Bridge_Sensor_Temp_read_attribute_closure) },
|
||||
{ be_const_key_weak(value_changed, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Temp_value_changed_closure) },
|
||||
{ be_const_key_weak(TYPE, 4), be_nested_str_weak(http_temperature) },
|
||||
{ be_const_key_weak(NAME, -1), be_nested_str_weak(Temperature) },
|
||||
{ be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(1,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(770, -1), be_const_int(2) },
|
||||
})) ) } )) },
|
||||
})),
|
||||
be_str_weak(Matter_Plugin_Bridge_Sensor_Temp)
|
||||
|
@ -251,6 +251,67 @@ be_local_closure(Matter_Plugin_Light2_update_virtual, /* name */
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: set_ct
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Light2_set_ct, /* name */
|
||||
be_nested_proto(
|
||||
6, /* nstack */
|
||||
2, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 9]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(ct_min),
|
||||
/* K1 */ be_nested_str_weak(ct_max),
|
||||
/* K2 */ be_nested_str_weak(VIRTUAL),
|
||||
/* K3 */ be_nested_str_weak(light),
|
||||
/* K4 */ be_nested_str_weak(set),
|
||||
/* K5 */ be_nested_str_weak(ct),
|
||||
/* K6 */ be_nested_str_weak(update_shadow),
|
||||
/* K7 */ be_nested_str_weak(shadow_ct),
|
||||
/* K8 */ be_nested_str_weak(attribute_updated),
|
||||
}),
|
||||
be_str_weak(set_ct),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[28]) { /* code */
|
||||
0x88080100, // 0000 GETMBR R2 R0 K0
|
||||
0x14080202, // 0001 LT R2 R1 R2
|
||||
0x780A0000, // 0002 JMPF R2 #0004
|
||||
0x88040100, // 0003 GETMBR R1 R0 K0
|
||||
0x88080101, // 0004 GETMBR R2 R0 K1
|
||||
0x24080202, // 0005 GT R2 R1 R2
|
||||
0x780A0000, // 0006 JMPF R2 #0008
|
||||
0x88040101, // 0007 GETMBR R1 R0 K1
|
||||
0x88080102, // 0008 GETMBR R2 R0 K2
|
||||
0x740A0008, // 0009 JMPT R2 #0013
|
||||
0xA40A0600, // 000A IMPORT R2 K3
|
||||
0x8C0C0504, // 000B GETMET R3 R2 K4
|
||||
0x60140013, // 000C GETGBL R5 G19
|
||||
0x7C140000, // 000D CALL R5 0
|
||||
0x98160A01, // 000E SETIDX R5 K5 R1
|
||||
0x7C0C0400, // 000F CALL R3 2
|
||||
0x8C0C0106, // 0010 GETMET R3 R0 K6
|
||||
0x7C0C0200, // 0011 CALL R3 1
|
||||
0x70020007, // 0012 JMP #001B
|
||||
0x88080107, // 0013 GETMBR R2 R0 K7
|
||||
0x20080202, // 0014 NE R2 R1 R2
|
||||
0x780A0004, // 0015 JMPF R2 #001B
|
||||
0x8C080108, // 0016 GETMET R2 R0 K8
|
||||
0x541202FF, // 0017 LDINT R4 768
|
||||
0x54160006, // 0018 LDINT R5 7
|
||||
0x7C080600, // 0019 CALL R2 3
|
||||
0x90020E01, // 001A SETMBR R0 K7 R1
|
||||
0x80000000, // 001B RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: read_attribute
|
||||
********************************************************************/
|
||||
@ -371,67 +432,6 @@ be_local_closure(Matter_Plugin_Light2_read_attribute, /* name */
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: set_ct
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Light2_set_ct, /* name */
|
||||
be_nested_proto(
|
||||
6, /* nstack */
|
||||
2, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 9]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(ct_min),
|
||||
/* K1 */ be_nested_str_weak(ct_max),
|
||||
/* K2 */ be_nested_str_weak(virtual),
|
||||
/* K3 */ be_nested_str_weak(light),
|
||||
/* K4 */ be_nested_str_weak(set),
|
||||
/* K5 */ be_nested_str_weak(ct),
|
||||
/* K6 */ be_nested_str_weak(update_shadow),
|
||||
/* K7 */ be_nested_str_weak(shadow_ct),
|
||||
/* K8 */ be_nested_str_weak(attribute_updated),
|
||||
}),
|
||||
be_str_weak(set_ct),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[28]) { /* code */
|
||||
0x88080100, // 0000 GETMBR R2 R0 K0
|
||||
0x14080202, // 0001 LT R2 R1 R2
|
||||
0x780A0000, // 0002 JMPF R2 #0004
|
||||
0x88040100, // 0003 GETMBR R1 R0 K0
|
||||
0x88080101, // 0004 GETMBR R2 R0 K1
|
||||
0x24080202, // 0005 GT R2 R1 R2
|
||||
0x780A0000, // 0006 JMPF R2 #0008
|
||||
0x88040101, // 0007 GETMBR R1 R0 K1
|
||||
0x88080102, // 0008 GETMBR R2 R0 K2
|
||||
0x740A0008, // 0009 JMPT R2 #0013
|
||||
0xA40A0600, // 000A IMPORT R2 K3
|
||||
0x8C0C0504, // 000B GETMET R3 R2 K4
|
||||
0x60140013, // 000C GETGBL R5 G19
|
||||
0x7C140000, // 000D CALL R5 0
|
||||
0x98160A01, // 000E SETIDX R5 K5 R1
|
||||
0x7C0C0400, // 000F CALL R3 2
|
||||
0x8C0C0106, // 0010 GETMET R3 R0 K6
|
||||
0x7C0C0200, // 0011 CALL R3 1
|
||||
0x70020007, // 0012 JMP #001B
|
||||
0x88080107, // 0013 GETMBR R2 R0 K7
|
||||
0x20080202, // 0014 NE R2 R1 R2
|
||||
0x780A0004, // 0015 JMPF R2 #001B
|
||||
0x8C080108, // 0016 GETMET R2 R0 K8
|
||||
0x541202FF, // 0017 LDINT R4 768
|
||||
0x54160006, // 0018 LDINT R5 7
|
||||
0x7C080600, // 0019 CALL R2 3
|
||||
0x90020E01, // 001A SETMBR R0 K7 R1
|
||||
0x80000000, // 001B RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: update_ct_minmax
|
||||
********************************************************************/
|
||||
@ -488,8 +488,15 @@ be_local_class(Matter_Plugin_Light2,
|
||||
{ be_const_key_weak(shadow_ct, -1), be_const_var(0) },
|
||||
{ be_const_key_weak(invoke_request, -1), be_const_closure(Matter_Plugin_Light2_invoke_request_closure) },
|
||||
{ be_const_key_weak(ct_max, -1), be_const_var(2) },
|
||||
{ be_const_key_weak(update_shadow, 8), be_const_closure(Matter_Plugin_Light2_update_shadow_closure) },
|
||||
{ be_const_key_weak(update_virtual, 11), be_const_closure(Matter_Plugin_Light2_update_virtual_closure) },
|
||||
{ be_const_key_weak(update_shadow, 10), be_const_closure(Matter_Plugin_Light2_update_shadow_closure) },
|
||||
{ be_const_key_weak(update_virtual, 8), be_const_closure(Matter_Plugin_Light2_update_virtual_closure) },
|
||||
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Light_X202_X20CT) },
|
||||
{ be_const_key_weak(set_ct, -1), be_const_closure(Matter_Plugin_Light2_set_ct_closure) },
|
||||
{ be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(1,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(268, -1), be_const_int(2) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(UPDATE_COMMANDS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
|
||||
be_const_list( * be_nested_list(3,
|
||||
( (struct bvalue*) &(const bvalue[]) {
|
||||
@ -497,7 +504,6 @@ be_local_class(Matter_Plugin_Light2,
|
||||
be_nested_str_weak(Bri),
|
||||
be_nested_str_weak(CT),
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(set_ct, -1), be_const_closure(Matter_Plugin_Light2_set_ct_closure) },
|
||||
{ be_const_key_weak(CLUSTERS, 14), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(8,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
@ -579,14 +585,8 @@ be_local_class(Matter_Plugin_Light2,
|
||||
be_const_int(65533),
|
||||
})) ) } )) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(NAME, 6), be_nested_str_weak(Light_X202_X20CT) },
|
||||
{ be_const_key_weak(update_ct_minmax, -1), be_const_closure(Matter_Plugin_Light2_update_ct_minmax_closure) },
|
||||
{ be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(1,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(268, -1), be_const_int(2) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(read_attribute, 10), be_const_closure(Matter_Plugin_Light2_read_attribute_closure) },
|
||||
{ be_const_key_weak(read_attribute, 11), be_const_closure(Matter_Plugin_Light2_read_attribute_closure) },
|
||||
{ be_const_key_weak(ct_min, -1), be_const_var(1) },
|
||||
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(light2) },
|
||||
})),
|
||||
|
@ -77,7 +77,7 @@ be_local_closure(Matter_Plugin_Light3_set_hue_sat, /* name */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[13]) { /* constants */
|
||||
/* K0 */ be_const_int(0),
|
||||
/* K1 */ be_nested_str_weak(virtual),
|
||||
/* K1 */ be_nested_str_weak(VIRTUAL),
|
||||
/* K2 */ be_nested_str_weak(tasmota),
|
||||
/* K3 */ be_nested_str_weak(scale_uint),
|
||||
/* K4 */ be_nested_str_weak(light),
|
||||
@ -423,7 +423,7 @@ be_local_closure(Matter_Plugin_Light3_update_shadow, /* name */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[14]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(update_shadow),
|
||||
/* K1 */ be_nested_str_weak(virtual),
|
||||
/* K1 */ be_nested_str_weak(VIRTUAL),
|
||||
/* K2 */ be_nested_str_weak(light),
|
||||
/* K3 */ be_nested_str_weak(get),
|
||||
/* K4 */ be_nested_str_weak(find),
|
||||
@ -667,14 +667,14 @@ be_local_class(Matter_Plugin_Light3,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_weak(shadow_hue, -1), be_const_var(0) },
|
||||
{ be_const_key_weak(shadow_sat, -1), be_const_var(1) },
|
||||
{ be_const_key_weak(update_virtual, 3), be_const_closure(Matter_Plugin_Light3_update_virtual_closure) },
|
||||
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(light3) },
|
||||
{ be_const_key_weak(update_virtual, 8), be_const_closure(Matter_Plugin_Light3_update_virtual_closure) },
|
||||
{ be_const_key_weak(update_shadow, -1), be_const_closure(Matter_Plugin_Light3_update_shadow_closure) },
|
||||
{ be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_Light3_read_attribute_closure) },
|
||||
{ be_const_key_weak(invoke_request, -1), be_const_closure(Matter_Plugin_Light3_invoke_request_closure) },
|
||||
{ be_const_key_weak(init, -1), be_const_closure(Matter_Plugin_Light3_init_closure) },
|
||||
{ be_const_key_weak(set_hue_sat, 8), be_const_closure(Matter_Plugin_Light3_set_hue_sat_closure) },
|
||||
{ be_const_key_weak(update_shadow, -1), be_const_closure(Matter_Plugin_Light3_update_shadow_closure) },
|
||||
{ be_const_key_weak(NAME, -1), be_nested_str_weak(Light_X203_X20RGB) },
|
||||
{ be_const_key_weak(init, 9), be_const_closure(Matter_Plugin_Light3_init_closure) },
|
||||
{ be_const_key_weak(set_hue_sat, 3), be_const_closure(Matter_Plugin_Light3_set_hue_sat_closure) },
|
||||
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(light3) },
|
||||
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Light_X203_X20RGB) },
|
||||
{ be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(8,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
|
@ -349,49 +349,6 @@ be_local_closure(Matter_Plugin_Bridge_Light2_invoke_request, /* name */
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: update_ct_minmax
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_Light2_update_ct_minmax, /* name */
|
||||
be_nested_proto(
|
||||
4, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 4]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(tasmota),
|
||||
/* K1 */ be_nested_str_weak(get_option),
|
||||
/* K2 */ be_nested_str_weak(ct_min),
|
||||
/* K3 */ be_nested_str_weak(ct_max),
|
||||
}),
|
||||
be_str_weak(update_ct_minmax),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[15]) { /* code */
|
||||
0xB8060000, // 0000 GETNGBL R1 K0
|
||||
0x8C040301, // 0001 GETMET R1 R1 K1
|
||||
0x540E0051, // 0002 LDINT R3 82
|
||||
0x7C040400, // 0003 CALL R1 2
|
||||
0x78060001, // 0004 JMPF R1 #0007
|
||||
0x540A00C7, // 0005 LDINT R2 200
|
||||
0x70020000, // 0006 JMP #0008
|
||||
0x540A0098, // 0007 LDINT R2 153
|
||||
0x90020402, // 0008 SETMBR R0 K2 R2
|
||||
0x78060001, // 0009 JMPF R1 #000C
|
||||
0x540A017B, // 000A LDINT R2 380
|
||||
0x70020000, // 000B JMP #000D
|
||||
0x540A01F3, // 000C LDINT R2 500
|
||||
0x90020602, // 000D SETMBR R0 K3 R2
|
||||
0x80000000, // 000E RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: read_attribute
|
||||
********************************************************************/
|
||||
@ -532,6 +489,49 @@ be_local_closure(Matter_Plugin_Bridge_Light2_read_attribute, /* name */
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: update_ct_minmax
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_Light2_update_ct_minmax, /* name */
|
||||
be_nested_proto(
|
||||
4, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 4]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(tasmota),
|
||||
/* K1 */ be_nested_str_weak(get_option),
|
||||
/* K2 */ be_nested_str_weak(ct_min),
|
||||
/* K3 */ be_nested_str_weak(ct_max),
|
||||
}),
|
||||
be_str_weak(update_ct_minmax),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[15]) { /* code */
|
||||
0xB8060000, // 0000 GETNGBL R1 K0
|
||||
0x8C040301, // 0001 GETMET R1 R1 K1
|
||||
0x540E0051, // 0002 LDINT R3 82
|
||||
0x7C040400, // 0003 CALL R1 2
|
||||
0x78060001, // 0004 JMPF R1 #0007
|
||||
0x540A00C7, // 0005 LDINT R2 200
|
||||
0x70020000, // 0006 JMP #0008
|
||||
0x540A0098, // 0007 LDINT R2 153
|
||||
0x90020402, // 0008 SETMBR R0 K2 R2
|
||||
0x78060001, // 0009 JMPF R1 #000C
|
||||
0x540A017B, // 000A LDINT R2 380
|
||||
0x70020000, // 000B JMP #000D
|
||||
0x540A01F3, // 000C LDINT R2 500
|
||||
0x90020602, // 000D SETMBR R0 K3 R2
|
||||
0x80000000, // 000E RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified class: Matter_Plugin_Bridge_Light2
|
||||
********************************************************************/
|
||||
@ -542,7 +542,7 @@ be_local_class(Matter_Plugin_Bridge_Light2,
|
||||
be_nested_map(15,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_weak(init, -1), be_const_closure(Matter_Plugin_Bridge_Light2_init_closure) },
|
||||
{ be_const_key_weak(parse_update, 10), be_const_closure(Matter_Plugin_Bridge_Light2_parse_update_closure) },
|
||||
{ be_const_key_weak(parse_update, 9), be_const_closure(Matter_Plugin_Bridge_Light2_parse_update_closure) },
|
||||
{ be_const_key_weak(web_values, 11), be_const_closure(Matter_Plugin_Bridge_Light2_web_values_closure) },
|
||||
{ be_const_key_weak(ct_max, -1), be_const_var(2) },
|
||||
{ be_const_key_weak(CLUSTERS, 14), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
@ -632,13 +632,13 @@ be_local_class(Matter_Plugin_Bridge_Light2,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(268, -1), be_const_int(2) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(web_value_ct, -1), be_const_closure(Matter_Plugin_Bridge_Light2_web_value_ct_closure) },
|
||||
{ be_const_key_weak(web_value_ct, 8), be_const_closure(Matter_Plugin_Bridge_Light2_web_value_ct_closure) },
|
||||
{ be_const_key_weak(set_ct, -1), be_const_closure(Matter_Plugin_Bridge_Light2_set_ct_closure) },
|
||||
{ be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_Bridge_Light2_read_attribute_closure) },
|
||||
{ be_const_key_weak(NAME, -1), be_nested_str_weak(Light_X202_X20CT) },
|
||||
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Light_X202_X20CT) },
|
||||
{ be_const_key_weak(shadow_ct, -1), be_const_var(0) },
|
||||
{ be_const_key_weak(update_ct_minmax, -1), be_const_closure(Matter_Plugin_Bridge_Light2_update_ct_minmax_closure) },
|
||||
{ be_const_key_weak(invoke_request, -1), be_const_closure(Matter_Plugin_Bridge_Light2_invoke_request_closure) },
|
||||
{ be_const_key_weak(update_ct_minmax, 8), be_const_closure(Matter_Plugin_Bridge_Light2_update_ct_minmax_closure) },
|
||||
{ be_const_key_weak(read_attribute, 10), be_const_closure(Matter_Plugin_Bridge_Light2_read_attribute_closure) },
|
||||
{ be_const_key_weak(ct_min, -1), be_const_var(1) },
|
||||
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(http_light2) },
|
||||
})),
|
||||
|
@ -295,168 +295,6 @@ be_local_closure(Matter_Plugin_Bridge_Light3_web_value_RGB, /* name */
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: invoke_request
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_Light3_invoke_request, /* name */
|
||||
be_nested_proto(
|
||||
15, /* nstack */
|
||||
4, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[19]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(matter),
|
||||
/* K1 */ be_nested_str_weak(TLV),
|
||||
/* K2 */ be_nested_str_weak(cluster),
|
||||
/* K3 */ be_nested_str_weak(command),
|
||||
/* K4 */ be_const_int(0),
|
||||
/* K5 */ be_nested_str_weak(findsubval),
|
||||
/* K6 */ be_nested_str_weak(set_hue),
|
||||
/* K7 */ be_nested_str_weak(log),
|
||||
/* K8 */ be_nested_str_weak(hue_X3A),
|
||||
/* K9 */ be_nested_str_weak(publish_command),
|
||||
/* K10 */ be_nested_str_weak(Hue),
|
||||
/* K11 */ be_const_int(1),
|
||||
/* K12 */ be_const_int(2),
|
||||
/* K13 */ be_const_int(3),
|
||||
/* K14 */ be_nested_str_weak(set_sat),
|
||||
/* K15 */ be_nested_str_weak(sat_X3A),
|
||||
/* K16 */ be_nested_str_weak(Sat),
|
||||
/* K17 */ be_nested_str_weak(_X20sat_X3A),
|
||||
/* K18 */ be_nested_str_weak(invoke_request),
|
||||
}),
|
||||
be_str_weak(invoke_request),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[119]) { /* code */
|
||||
0xB8120000, // 0000 GETNGBL R4 K0
|
||||
0x88100901, // 0001 GETMBR R4 R4 K1
|
||||
0x88140702, // 0002 GETMBR R5 R3 K2
|
||||
0x88180703, // 0003 GETMBR R6 R3 K3
|
||||
0x541E02FF, // 0004 LDINT R7 768
|
||||
0x1C1C0A07, // 0005 EQ R7 R5 R7
|
||||
0x781E0065, // 0006 JMPF R7 #006D
|
||||
0x1C1C0D04, // 0007 EQ R7 R6 K4
|
||||
0x781E0011, // 0008 JMPF R7 #001B
|
||||
0x8C1C0505, // 0009 GETMET R7 R2 K5
|
||||
0x58240004, // 000A LDCONST R9 K4
|
||||
0x7C1C0400, // 000B CALL R7 2
|
||||
0x8C200106, // 000C GETMET R8 R0 K6
|
||||
0x5C280E00, // 000D MOVE R10 R7
|
||||
0x7C200400, // 000E CALL R8 2
|
||||
0x60200008, // 000F GETGBL R8 G8
|
||||
0x5C240E00, // 0010 MOVE R9 R7
|
||||
0x7C200200, // 0011 CALL R8 1
|
||||
0x00221008, // 0012 ADD R8 K8 R8
|
||||
0x900E0E08, // 0013 SETMBR R3 K7 R8
|
||||
0x8C200109, // 0014 GETMET R8 R0 K9
|
||||
0x5828000A, // 0015 LDCONST R10 K10
|
||||
0x5C2C0E00, // 0016 MOVE R11 R7
|
||||
0x7C200600, // 0017 CALL R8 3
|
||||
0x50200200, // 0018 LDBOOL R8 1 0
|
||||
0x80041000, // 0019 RET 1 R8
|
||||
0x70020050, // 001A JMP #006C
|
||||
0x1C1C0D0B, // 001B EQ R7 R6 K11
|
||||
0x781E0002, // 001C JMPF R7 #0020
|
||||
0x501C0200, // 001D LDBOOL R7 1 0
|
||||
0x80040E00, // 001E RET 1 R7
|
||||
0x7002004B, // 001F JMP #006C
|
||||
0x1C1C0D0C, // 0020 EQ R7 R6 K12
|
||||
0x781E0002, // 0021 JMPF R7 #0025
|
||||
0x501C0200, // 0022 LDBOOL R7 1 0
|
||||
0x80040E00, // 0023 RET 1 R7
|
||||
0x70020046, // 0024 JMP #006C
|
||||
0x1C1C0D0D, // 0025 EQ R7 R6 K13
|
||||
0x781E0011, // 0026 JMPF R7 #0039
|
||||
0x8C1C0505, // 0027 GETMET R7 R2 K5
|
||||
0x58240004, // 0028 LDCONST R9 K4
|
||||
0x7C1C0400, // 0029 CALL R7 2
|
||||
0x8C20010E, // 002A GETMET R8 R0 K14
|
||||
0x5C280E00, // 002B MOVE R10 R7
|
||||
0x7C200400, // 002C CALL R8 2
|
||||
0x60200008, // 002D GETGBL R8 G8
|
||||
0x5C240E00, // 002E MOVE R9 R7
|
||||
0x7C200200, // 002F CALL R8 1
|
||||
0x00221E08, // 0030 ADD R8 K15 R8
|
||||
0x900E0E08, // 0031 SETMBR R3 K7 R8
|
||||
0x8C200109, // 0032 GETMET R8 R0 K9
|
||||
0x58280010, // 0033 LDCONST R10 K16
|
||||
0x5C2C0E00, // 0034 MOVE R11 R7
|
||||
0x7C200600, // 0035 CALL R8 3
|
||||
0x50200200, // 0036 LDBOOL R8 1 0
|
||||
0x80041000, // 0037 RET 1 R8
|
||||
0x70020032, // 0038 JMP #006C
|
||||
0x541E0003, // 0039 LDINT R7 4
|
||||
0x1C1C0C07, // 003A EQ R7 R6 R7
|
||||
0x781E0002, // 003B JMPF R7 #003F
|
||||
0x501C0200, // 003C LDBOOL R7 1 0
|
||||
0x80040E00, // 003D RET 1 R7
|
||||
0x7002002C, // 003E JMP #006C
|
||||
0x541E0004, // 003F LDINT R7 5
|
||||
0x1C1C0C07, // 0040 EQ R7 R6 R7
|
||||
0x781E0002, // 0041 JMPF R7 #0045
|
||||
0x501C0200, // 0042 LDBOOL R7 1 0
|
||||
0x80040E00, // 0043 RET 1 R7
|
||||
0x70020026, // 0044 JMP #006C
|
||||
0x541E0005, // 0045 LDINT R7 6
|
||||
0x1C1C0C07, // 0046 EQ R7 R6 R7
|
||||
0x781E001E, // 0047 JMPF R7 #0067
|
||||
0x8C1C0505, // 0048 GETMET R7 R2 K5
|
||||
0x58240004, // 0049 LDCONST R9 K4
|
||||
0x7C1C0400, // 004A CALL R7 2
|
||||
0x8C200505, // 004B GETMET R8 R2 K5
|
||||
0x5828000B, // 004C LDCONST R10 K11
|
||||
0x7C200400, // 004D CALL R8 2
|
||||
0x8C240106, // 004E GETMET R9 R0 K6
|
||||
0x5C2C0E00, // 004F MOVE R11 R7
|
||||
0x7C240400, // 0050 CALL R9 2
|
||||
0x8C24010E, // 0051 GETMET R9 R0 K14
|
||||
0x5C2C1000, // 0052 MOVE R11 R8
|
||||
0x7C240400, // 0053 CALL R9 2
|
||||
0x60240008, // 0054 GETGBL R9 G8
|
||||
0x5C280E00, // 0055 MOVE R10 R7
|
||||
0x7C240200, // 0056 CALL R9 1
|
||||
0x00261009, // 0057 ADD R9 K8 R9
|
||||
0x00241311, // 0058 ADD R9 R9 K17
|
||||
0x60280008, // 0059 GETGBL R10 G8
|
||||
0x5C2C1000, // 005A MOVE R11 R8
|
||||
0x7C280200, // 005B CALL R10 1
|
||||
0x0024120A, // 005C ADD R9 R9 R10
|
||||
0x900E0E09, // 005D SETMBR R3 K7 R9
|
||||
0x8C240109, // 005E GETMET R9 R0 K9
|
||||
0x582C000A, // 005F LDCONST R11 K10
|
||||
0x5C300E00, // 0060 MOVE R12 R7
|
||||
0x58340010, // 0061 LDCONST R13 K16
|
||||
0x5C381000, // 0062 MOVE R14 R8
|
||||
0x7C240A00, // 0063 CALL R9 5
|
||||
0x50240200, // 0064 LDBOOL R9 1 0
|
||||
0x80041200, // 0065 RET 1 R9
|
||||
0x70020004, // 0066 JMP #006C
|
||||
0x541E0046, // 0067 LDINT R7 71
|
||||
0x1C1C0C07, // 0068 EQ R7 R6 R7
|
||||
0x781E0001, // 0069 JMPF R7 #006C
|
||||
0x501C0200, // 006A LDBOOL R7 1 0
|
||||
0x80040E00, // 006B RET 1 R7
|
||||
0x70020008, // 006C JMP #0076
|
||||
0x601C0003, // 006D GETGBL R7 G3
|
||||
0x5C200000, // 006E MOVE R8 R0
|
||||
0x7C1C0200, // 006F CALL R7 1
|
||||
0x8C1C0F12, // 0070 GETMET R7 R7 K18
|
||||
0x5C240200, // 0071 MOVE R9 R1
|
||||
0x5C280400, // 0072 MOVE R10 R2
|
||||
0x5C2C0600, // 0073 MOVE R11 R3
|
||||
0x7C1C0800, // 0074 CALL R7 4
|
||||
0x80040E00, // 0075 RET 1 R7
|
||||
0x80000000, // 0076 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: read_attribute
|
||||
********************************************************************/
|
||||
@ -622,6 +460,168 @@ be_local_closure(Matter_Plugin_Bridge_Light3_read_attribute, /* name */
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: invoke_request
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_Light3_invoke_request, /* name */
|
||||
be_nested_proto(
|
||||
15, /* nstack */
|
||||
4, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[19]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(matter),
|
||||
/* K1 */ be_nested_str_weak(TLV),
|
||||
/* K2 */ be_nested_str_weak(cluster),
|
||||
/* K3 */ be_nested_str_weak(command),
|
||||
/* K4 */ be_const_int(0),
|
||||
/* K5 */ be_nested_str_weak(findsubval),
|
||||
/* K6 */ be_nested_str_weak(set_hue),
|
||||
/* K7 */ be_nested_str_weak(log),
|
||||
/* K8 */ be_nested_str_weak(hue_X3A),
|
||||
/* K9 */ be_nested_str_weak(publish_command),
|
||||
/* K10 */ be_nested_str_weak(Hue),
|
||||
/* K11 */ be_const_int(1),
|
||||
/* K12 */ be_const_int(2),
|
||||
/* K13 */ be_const_int(3),
|
||||
/* K14 */ be_nested_str_weak(set_sat),
|
||||
/* K15 */ be_nested_str_weak(sat_X3A),
|
||||
/* K16 */ be_nested_str_weak(Sat),
|
||||
/* K17 */ be_nested_str_weak(_X20sat_X3A),
|
||||
/* K18 */ be_nested_str_weak(invoke_request),
|
||||
}),
|
||||
be_str_weak(invoke_request),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[119]) { /* code */
|
||||
0xB8120000, // 0000 GETNGBL R4 K0
|
||||
0x88100901, // 0001 GETMBR R4 R4 K1
|
||||
0x88140702, // 0002 GETMBR R5 R3 K2
|
||||
0x88180703, // 0003 GETMBR R6 R3 K3
|
||||
0x541E02FF, // 0004 LDINT R7 768
|
||||
0x1C1C0A07, // 0005 EQ R7 R5 R7
|
||||
0x781E0065, // 0006 JMPF R7 #006D
|
||||
0x1C1C0D04, // 0007 EQ R7 R6 K4
|
||||
0x781E0011, // 0008 JMPF R7 #001B
|
||||
0x8C1C0505, // 0009 GETMET R7 R2 K5
|
||||
0x58240004, // 000A LDCONST R9 K4
|
||||
0x7C1C0400, // 000B CALL R7 2
|
||||
0x8C200106, // 000C GETMET R8 R0 K6
|
||||
0x5C280E00, // 000D MOVE R10 R7
|
||||
0x7C200400, // 000E CALL R8 2
|
||||
0x60200008, // 000F GETGBL R8 G8
|
||||
0x5C240E00, // 0010 MOVE R9 R7
|
||||
0x7C200200, // 0011 CALL R8 1
|
||||
0x00221008, // 0012 ADD R8 K8 R8
|
||||
0x900E0E08, // 0013 SETMBR R3 K7 R8
|
||||
0x8C200109, // 0014 GETMET R8 R0 K9
|
||||
0x5828000A, // 0015 LDCONST R10 K10
|
||||
0x5C2C0E00, // 0016 MOVE R11 R7
|
||||
0x7C200600, // 0017 CALL R8 3
|
||||
0x50200200, // 0018 LDBOOL R8 1 0
|
||||
0x80041000, // 0019 RET 1 R8
|
||||
0x70020050, // 001A JMP #006C
|
||||
0x1C1C0D0B, // 001B EQ R7 R6 K11
|
||||
0x781E0002, // 001C JMPF R7 #0020
|
||||
0x501C0200, // 001D LDBOOL R7 1 0
|
||||
0x80040E00, // 001E RET 1 R7
|
||||
0x7002004B, // 001F JMP #006C
|
||||
0x1C1C0D0C, // 0020 EQ R7 R6 K12
|
||||
0x781E0002, // 0021 JMPF R7 #0025
|
||||
0x501C0200, // 0022 LDBOOL R7 1 0
|
||||
0x80040E00, // 0023 RET 1 R7
|
||||
0x70020046, // 0024 JMP #006C
|
||||
0x1C1C0D0D, // 0025 EQ R7 R6 K13
|
||||
0x781E0011, // 0026 JMPF R7 #0039
|
||||
0x8C1C0505, // 0027 GETMET R7 R2 K5
|
||||
0x58240004, // 0028 LDCONST R9 K4
|
||||
0x7C1C0400, // 0029 CALL R7 2
|
||||
0x8C20010E, // 002A GETMET R8 R0 K14
|
||||
0x5C280E00, // 002B MOVE R10 R7
|
||||
0x7C200400, // 002C CALL R8 2
|
||||
0x60200008, // 002D GETGBL R8 G8
|
||||
0x5C240E00, // 002E MOVE R9 R7
|
||||
0x7C200200, // 002F CALL R8 1
|
||||
0x00221E08, // 0030 ADD R8 K15 R8
|
||||
0x900E0E08, // 0031 SETMBR R3 K7 R8
|
||||
0x8C200109, // 0032 GETMET R8 R0 K9
|
||||
0x58280010, // 0033 LDCONST R10 K16
|
||||
0x5C2C0E00, // 0034 MOVE R11 R7
|
||||
0x7C200600, // 0035 CALL R8 3
|
||||
0x50200200, // 0036 LDBOOL R8 1 0
|
||||
0x80041000, // 0037 RET 1 R8
|
||||
0x70020032, // 0038 JMP #006C
|
||||
0x541E0003, // 0039 LDINT R7 4
|
||||
0x1C1C0C07, // 003A EQ R7 R6 R7
|
||||
0x781E0002, // 003B JMPF R7 #003F
|
||||
0x501C0200, // 003C LDBOOL R7 1 0
|
||||
0x80040E00, // 003D RET 1 R7
|
||||
0x7002002C, // 003E JMP #006C
|
||||
0x541E0004, // 003F LDINT R7 5
|
||||
0x1C1C0C07, // 0040 EQ R7 R6 R7
|
||||
0x781E0002, // 0041 JMPF R7 #0045
|
||||
0x501C0200, // 0042 LDBOOL R7 1 0
|
||||
0x80040E00, // 0043 RET 1 R7
|
||||
0x70020026, // 0044 JMP #006C
|
||||
0x541E0005, // 0045 LDINT R7 6
|
||||
0x1C1C0C07, // 0046 EQ R7 R6 R7
|
||||
0x781E001E, // 0047 JMPF R7 #0067
|
||||
0x8C1C0505, // 0048 GETMET R7 R2 K5
|
||||
0x58240004, // 0049 LDCONST R9 K4
|
||||
0x7C1C0400, // 004A CALL R7 2
|
||||
0x8C200505, // 004B GETMET R8 R2 K5
|
||||
0x5828000B, // 004C LDCONST R10 K11
|
||||
0x7C200400, // 004D CALL R8 2
|
||||
0x8C240106, // 004E GETMET R9 R0 K6
|
||||
0x5C2C0E00, // 004F MOVE R11 R7
|
||||
0x7C240400, // 0050 CALL R9 2
|
||||
0x8C24010E, // 0051 GETMET R9 R0 K14
|
||||
0x5C2C1000, // 0052 MOVE R11 R8
|
||||
0x7C240400, // 0053 CALL R9 2
|
||||
0x60240008, // 0054 GETGBL R9 G8
|
||||
0x5C280E00, // 0055 MOVE R10 R7
|
||||
0x7C240200, // 0056 CALL R9 1
|
||||
0x00261009, // 0057 ADD R9 K8 R9
|
||||
0x00241311, // 0058 ADD R9 R9 K17
|
||||
0x60280008, // 0059 GETGBL R10 G8
|
||||
0x5C2C1000, // 005A MOVE R11 R8
|
||||
0x7C280200, // 005B CALL R10 1
|
||||
0x0024120A, // 005C ADD R9 R9 R10
|
||||
0x900E0E09, // 005D SETMBR R3 K7 R9
|
||||
0x8C240109, // 005E GETMET R9 R0 K9
|
||||
0x582C000A, // 005F LDCONST R11 K10
|
||||
0x5C300E00, // 0060 MOVE R12 R7
|
||||
0x58340010, // 0061 LDCONST R13 K16
|
||||
0x5C381000, // 0062 MOVE R14 R8
|
||||
0x7C240A00, // 0063 CALL R9 5
|
||||
0x50240200, // 0064 LDBOOL R9 1 0
|
||||
0x80041200, // 0065 RET 1 R9
|
||||
0x70020004, // 0066 JMP #006C
|
||||
0x541E0046, // 0067 LDINT R7 71
|
||||
0x1C1C0C07, // 0068 EQ R7 R6 R7
|
||||
0x781E0001, // 0069 JMPF R7 #006C
|
||||
0x501C0200, // 006A LDBOOL R7 1 0
|
||||
0x80040E00, // 006B RET 1 R7
|
||||
0x70020008, // 006C JMP #0076
|
||||
0x601C0003, // 006D GETGBL R7 G3
|
||||
0x5C200000, // 006E MOVE R8 R0
|
||||
0x7C1C0200, // 006F CALL R7 1
|
||||
0x8C1C0F12, // 0070 GETMET R7 R7 K18
|
||||
0x5C240200, // 0071 MOVE R9 R1
|
||||
0x5C280400, // 0072 MOVE R10 R2
|
||||
0x5C2C0600, // 0073 MOVE R11 R3
|
||||
0x7C1C0800, // 0074 CALL R7 4
|
||||
0x80040E00, // 0075 RET 1 R7
|
||||
0x80000000, // 0076 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: set_hue
|
||||
********************************************************************/
|
||||
@ -715,24 +715,13 @@ be_local_class(Matter_Plugin_Bridge_Light3,
|
||||
&be_class_Matter_Plugin_Bridge_Light1,
|
||||
be_nested_map(14,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_weak(set_sat, 12), be_const_closure(Matter_Plugin_Bridge_Light3_set_sat_closure) },
|
||||
{ be_const_key_weak(init, -1), be_const_closure(Matter_Plugin_Bridge_Light3_init_closure) },
|
||||
{ be_const_key_weak(set_sat, 6), be_const_closure(Matter_Plugin_Bridge_Light3_set_sat_closure) },
|
||||
{ be_const_key_weak(init, 8), be_const_closure(Matter_Plugin_Bridge_Light3_init_closure) },
|
||||
{ be_const_key_weak(parse_update, -1), be_const_closure(Matter_Plugin_Bridge_Light3_parse_update_closure) },
|
||||
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(http_light3) },
|
||||
{ be_const_key_weak(web_values, -1), be_const_closure(Matter_Plugin_Bridge_Light3_web_values_closure) },
|
||||
{ be_const_key_weak(web_value_RGB, 1), be_const_closure(Matter_Plugin_Bridge_Light3_web_value_RGB_closure) },
|
||||
{ be_const_key_weak(shadow_sat, 9), be_const_var(1) },
|
||||
{ be_const_key_weak(invoke_request, -1), be_const_closure(Matter_Plugin_Bridge_Light3_invoke_request_closure) },
|
||||
{ be_const_key_weak(NAME, -1), be_nested_str_weak(Light_X203_X20RGB) },
|
||||
{ be_const_key_weak(TYPES, 11), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(1,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(269, -1), be_const_int(2) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(shadow_hue, 6), be_const_var(0) },
|
||||
{ be_const_key_weak(set_hue, -1), be_const_closure(Matter_Plugin_Bridge_Light3_set_hue_closure) },
|
||||
{ be_const_key_weak(read_attribute, 13), be_const_closure(Matter_Plugin_Bridge_Light3_read_attribute_closure) },
|
||||
{ be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
{ be_const_key_weak(CLUSTERS, 13), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(8,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(8, 7), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
|
||||
@ -815,6 +804,17 @@ be_local_class(Matter_Plugin_Bridge_Light3,
|
||||
be_const_int(65533),
|
||||
})) ) } )) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(invoke_request, -1), be_const_closure(Matter_Plugin_Bridge_Light3_invoke_request_closure) },
|
||||
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Light_X203_X20RGB) },
|
||||
{ be_const_key_weak(set_hue, 11), be_const_closure(Matter_Plugin_Bridge_Light3_set_hue_closure) },
|
||||
{ be_const_key_weak(shadow_hue, 9), be_const_var(0) },
|
||||
{ be_const_key_weak(TYPES, 12), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(1,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(269, -1), be_const_int(2) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(shadow_sat, -1), be_const_var(1) },
|
||||
{ be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_Bridge_Light3_read_attribute_closure) },
|
||||
})),
|
||||
be_str_weak(Matter_Plugin_Bridge_Light3)
|
||||
);
|
||||
|
@ -6,43 +6,6 @@
|
||||
|
||||
extern const bclass be_class_Matter_Plugin_Virt_Light0;
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: init
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Virt_Light0_init, /* name */
|
||||
be_nested_proto(
|
||||
9, /* nstack */
|
||||
4, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 2]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(init),
|
||||
/* K1 */ be_nested_str_weak(virtual),
|
||||
}),
|
||||
be_str_weak(init),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[11]) { /* code */
|
||||
0x60100003, // 0000 GETGBL R4 G3
|
||||
0x5C140000, // 0001 MOVE R5 R0
|
||||
0x7C100200, // 0002 CALL R4 1
|
||||
0x8C100900, // 0003 GETMET R4 R4 K0
|
||||
0x5C180200, // 0004 MOVE R6 R1
|
||||
0x5C1C0400, // 0005 MOVE R7 R2
|
||||
0x5C200600, // 0006 MOVE R8 R3
|
||||
0x7C100800, // 0007 CALL R4 4
|
||||
0x50100200, // 0008 LDBOOL R4 1 0
|
||||
0x90020204, // 0009 SETMBR R0 K1 R4
|
||||
0x80000000, // 000A RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified class: Matter_Plugin_Virt_Light0
|
||||
********************************************************************/
|
||||
@ -52,11 +15,11 @@ be_local_class(Matter_Plugin_Virt_Light0,
|
||||
&be_class_Matter_Plugin_Light0,
|
||||
be_nested_map(5,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_weak(ARG_HINT, 3), be_nested_str_weak(_Not_X20used_) },
|
||||
{ be_const_key_weak(NAME, 2), be_nested_str_weak(_X28v_X29_X20Light_X200_X20On) },
|
||||
{ be_const_key_weak(VIRTUAL, 3), be_const_bool(1) },
|
||||
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(v_X2ELight_X200_X20On) },
|
||||
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(v_light0) },
|
||||
{ be_const_key_weak(init, -1), be_const_closure(Matter_Plugin_Virt_Light0_init_closure) },
|
||||
{ be_const_key_weak(ARG, 1), be_nested_str_weak() },
|
||||
{ be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) },
|
||||
{ be_const_key_weak(ARG, 2), be_nested_str_weak() },
|
||||
})),
|
||||
be_str_weak(Matter_Plugin_Virt_Light0)
|
||||
);
|
||||
|
@ -6,43 +6,6 @@
|
||||
|
||||
extern const bclass be_class_Matter_Plugin_Virt_Light1;
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: init
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Virt_Light1_init, /* name */
|
||||
be_nested_proto(
|
||||
9, /* nstack */
|
||||
4, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 2]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(init),
|
||||
/* K1 */ be_nested_str_weak(virtual),
|
||||
}),
|
||||
be_str_weak(init),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[11]) { /* code */
|
||||
0x60100003, // 0000 GETGBL R4 G3
|
||||
0x5C140000, // 0001 MOVE R5 R0
|
||||
0x7C100200, // 0002 CALL R4 1
|
||||
0x8C100900, // 0003 GETMET R4 R4 K0
|
||||
0x5C180200, // 0004 MOVE R6 R1
|
||||
0x5C1C0400, // 0005 MOVE R7 R2
|
||||
0x5C200600, // 0006 MOVE R8 R3
|
||||
0x7C100800, // 0007 CALL R4 4
|
||||
0x50100200, // 0008 LDBOOL R4 1 0
|
||||
0x90020204, // 0009 SETMBR R0 K1 R4
|
||||
0x80000000, // 000A RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified class: Matter_Plugin_Virt_Light1
|
||||
********************************************************************/
|
||||
@ -52,11 +15,11 @@ be_local_class(Matter_Plugin_Virt_Light1,
|
||||
&be_class_Matter_Plugin_Light1,
|
||||
be_nested_map(5,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_weak(ARG_HINT, 3), be_nested_str_weak(_Not_X20used_) },
|
||||
{ be_const_key_weak(NAME, 2), be_nested_str_weak(_X28v_X29_X20Light_X201_X20Dimmer) },
|
||||
{ be_const_key_weak(VIRTUAL, 3), be_const_bool(1) },
|
||||
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(v_X2ELight_X201_X20Dimmer) },
|
||||
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(v_light1) },
|
||||
{ be_const_key_weak(init, -1), be_const_closure(Matter_Plugin_Virt_Light1_init_closure) },
|
||||
{ be_const_key_weak(ARG, 1), be_nested_str_weak() },
|
||||
{ be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) },
|
||||
{ be_const_key_weak(ARG, 2), be_nested_str_weak() },
|
||||
})),
|
||||
be_str_weak(Matter_Plugin_Virt_Light1)
|
||||
);
|
||||
|
@ -6,43 +6,6 @@
|
||||
|
||||
extern const bclass be_class_Matter_Plugin_Virt_Light2;
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: init
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Virt_Light2_init, /* name */
|
||||
be_nested_proto(
|
||||
9, /* nstack */
|
||||
4, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 2]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(init),
|
||||
/* K1 */ be_nested_str_weak(virtual),
|
||||
}),
|
||||
be_str_weak(init),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[11]) { /* code */
|
||||
0x60100003, // 0000 GETGBL R4 G3
|
||||
0x5C140000, // 0001 MOVE R5 R0
|
||||
0x7C100200, // 0002 CALL R4 1
|
||||
0x8C100900, // 0003 GETMET R4 R4 K0
|
||||
0x5C180200, // 0004 MOVE R6 R1
|
||||
0x5C1C0400, // 0005 MOVE R7 R2
|
||||
0x5C200600, // 0006 MOVE R8 R3
|
||||
0x7C100800, // 0007 CALL R4 4
|
||||
0x50100200, // 0008 LDBOOL R4 1 0
|
||||
0x90020204, // 0009 SETMBR R0 K1 R4
|
||||
0x80000000, // 000A RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified class: Matter_Plugin_Virt_Light2
|
||||
********************************************************************/
|
||||
@ -52,11 +15,11 @@ be_local_class(Matter_Plugin_Virt_Light2,
|
||||
&be_class_Matter_Plugin_Light2,
|
||||
be_nested_map(5,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_weak(ARG_HINT, 3), be_nested_str_weak(_Not_X20used_) },
|
||||
{ be_const_key_weak(NAME, 2), be_nested_str_weak(_X28v_X29_X20Light_X202_X20CT) },
|
||||
{ be_const_key_weak(VIRTUAL, 3), be_const_bool(1) },
|
||||
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(v_X2ELight_X202_X20CT) },
|
||||
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(v_light2) },
|
||||
{ be_const_key_weak(init, -1), be_const_closure(Matter_Plugin_Virt_Light2_init_closure) },
|
||||
{ be_const_key_weak(ARG, 1), be_nested_str_weak() },
|
||||
{ be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) },
|
||||
{ be_const_key_weak(ARG, 2), be_nested_str_weak() },
|
||||
})),
|
||||
be_str_weak(Matter_Plugin_Virt_Light2)
|
||||
);
|
||||
|
@ -6,43 +6,6 @@
|
||||
|
||||
extern const bclass be_class_Matter_Plugin_Virt_Light3;
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: init
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Virt_Light3_init, /* name */
|
||||
be_nested_proto(
|
||||
9, /* nstack */
|
||||
4, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 2]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(init),
|
||||
/* K1 */ be_nested_str_weak(virtual),
|
||||
}),
|
||||
be_str_weak(init),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[11]) { /* code */
|
||||
0x60100003, // 0000 GETGBL R4 G3
|
||||
0x5C140000, // 0001 MOVE R5 R0
|
||||
0x7C100200, // 0002 CALL R4 1
|
||||
0x8C100900, // 0003 GETMET R4 R4 K0
|
||||
0x5C180200, // 0004 MOVE R6 R1
|
||||
0x5C1C0400, // 0005 MOVE R7 R2
|
||||
0x5C200600, // 0006 MOVE R8 R3
|
||||
0x7C100800, // 0007 CALL R4 4
|
||||
0x50100200, // 0008 LDBOOL R4 1 0
|
||||
0x90020204, // 0009 SETMBR R0 K1 R4
|
||||
0x80000000, // 000A RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified class: Matter_Plugin_Virt_Light3
|
||||
********************************************************************/
|
||||
@ -52,11 +15,11 @@ be_local_class(Matter_Plugin_Virt_Light3,
|
||||
&be_class_Matter_Plugin_Light3,
|
||||
be_nested_map(5,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_weak(ARG_HINT, 3), be_nested_str_weak(_Not_X20used_) },
|
||||
{ be_const_key_weak(NAME, 2), be_nested_str_weak(_X28v_X29_X20Light_X203_X20RGB) },
|
||||
{ be_const_key_weak(VIRTUAL, 3), be_const_bool(1) },
|
||||
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(v_X2ELight_X203_X20RGB) },
|
||||
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(v_light3) },
|
||||
{ be_const_key_weak(init, -1), be_const_closure(Matter_Plugin_Virt_Light3_init_closure) },
|
||||
{ be_const_key_weak(ARG, 1), be_nested_str_weak() },
|
||||
{ be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) },
|
||||
{ be_const_key_weak(ARG, 2), be_nested_str_weak() },
|
||||
})),
|
||||
be_str_weak(Matter_Plugin_Virt_Light3)
|
||||
);
|
||||
|
@ -6,43 +6,6 @@
|
||||
|
||||
extern const bclass be_class_Matter_Plugin_Virt_OnOff;
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: init
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Virt_OnOff_init, /* name */
|
||||
be_nested_proto(
|
||||
9, /* nstack */
|
||||
4, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 2]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(init),
|
||||
/* K1 */ be_nested_str_weak(virtual),
|
||||
}),
|
||||
be_str_weak(init),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[11]) { /* code */
|
||||
0x60100003, // 0000 GETGBL R4 G3
|
||||
0x5C140000, // 0001 MOVE R5 R0
|
||||
0x7C100200, // 0002 CALL R4 1
|
||||
0x8C100900, // 0003 GETMET R4 R4 K0
|
||||
0x5C180200, // 0004 MOVE R6 R1
|
||||
0x5C1C0400, // 0005 MOVE R7 R2
|
||||
0x5C200600, // 0006 MOVE R8 R3
|
||||
0x7C100800, // 0007 CALL R4 4
|
||||
0x50100200, // 0008 LDBOOL R4 1 0
|
||||
0x90020204, // 0009 SETMBR R0 K1 R4
|
||||
0x80000000, // 000A RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified class: Matter_Plugin_Virt_OnOff
|
||||
********************************************************************/
|
||||
@ -52,11 +15,11 @@ be_local_class(Matter_Plugin_Virt_OnOff,
|
||||
&be_class_Matter_Plugin_OnOff,
|
||||
be_nested_map(5,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_weak(ARG_HINT, 3), be_nested_str_weak(_Not_X20used_) },
|
||||
{ be_const_key_weak(NAME, 2), be_nested_str_weak(_X28v_X29_X20Relay) },
|
||||
{ be_const_key_weak(VIRTUAL, 3), be_const_bool(1) },
|
||||
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(v_X2ERelay) },
|
||||
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(v_relay) },
|
||||
{ be_const_key_weak(init, -1), be_const_closure(Matter_Plugin_Virt_OnOff_init_closure) },
|
||||
{ be_const_key_weak(ARG, 1), be_nested_str_weak() },
|
||||
{ be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) },
|
||||
{ be_const_key_weak(ARG, 2), be_nested_str_weak() },
|
||||
})),
|
||||
be_str_weak(Matter_Plugin_Virt_OnOff)
|
||||
);
|
||||
|
@ -0,0 +1,34 @@
|
||||
/* Solidification of Matter_Plugin_9_Virt_Sensor_Contact.h */
|
||||
/********************************************************************\
|
||||
* Generated code, don't edit *
|
||||
\********************************************************************/
|
||||
#include "be_constobj.h"
|
||||
|
||||
extern const bclass be_class_Matter_Plugin_Virt_Sensor_Contact;
|
||||
|
||||
/********************************************************************
|
||||
** Solidified class: Matter_Plugin_Virt_Sensor_Contact
|
||||
********************************************************************/
|
||||
extern const bclass be_class_Matter_Plugin_Sensor_Contact;
|
||||
be_local_class(Matter_Plugin_Virt_Sensor_Contact,
|
||||
0,
|
||||
&be_class_Matter_Plugin_Sensor_Contact,
|
||||
be_nested_map(5,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_weak(VIRTUAL, 3), be_const_bool(1) },
|
||||
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(v_X2EContact) },
|
||||
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(v_contact) },
|
||||
{ be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) },
|
||||
{ be_const_key_weak(ARG, 2), be_nested_str_weak() },
|
||||
})),
|
||||
be_str_weak(Matter_Plugin_Virt_Sensor_Contact)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
void be_load_Matter_Plugin_Virt_Sensor_Contact_class(bvm *vm) {
|
||||
be_pushntvclass(vm, &be_class_Matter_Plugin_Virt_Sensor_Contact);
|
||||
be_setglobal(vm, "Matter_Plugin_Virt_Sensor_Contact");
|
||||
be_pop(vm, 1);
|
||||
}
|
||||
/********************************************************************/
|
||||
/* End of solidification */
|
@ -0,0 +1,34 @@
|
||||
/* Solidification of Matter_Plugin_9_Virt_Sensor_Humidity.h */
|
||||
/********************************************************************\
|
||||
* Generated code, don't edit *
|
||||
\********************************************************************/
|
||||
#include "be_constobj.h"
|
||||
|
||||
extern const bclass be_class_Matter_Plugin_Virt_Sensor_Humidity;
|
||||
|
||||
/********************************************************************
|
||||
** Solidified class: Matter_Plugin_Virt_Sensor_Humidity
|
||||
********************************************************************/
|
||||
extern const bclass be_class_Matter_Plugin_Sensor_Humidity;
|
||||
be_local_class(Matter_Plugin_Virt_Sensor_Humidity,
|
||||
0,
|
||||
&be_class_Matter_Plugin_Sensor_Humidity,
|
||||
be_nested_map(5,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_weak(VIRTUAL, 3), be_const_bool(1) },
|
||||
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(v_X2EHumidity) },
|
||||
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(v_humidity) },
|
||||
{ be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) },
|
||||
{ be_const_key_weak(ARG, 2), be_nested_str_weak() },
|
||||
})),
|
||||
be_str_weak(Matter_Plugin_Virt_Sensor_Humidity)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
void be_load_Matter_Plugin_Virt_Sensor_Humidity_class(bvm *vm) {
|
||||
be_pushntvclass(vm, &be_class_Matter_Plugin_Virt_Sensor_Humidity);
|
||||
be_setglobal(vm, "Matter_Plugin_Virt_Sensor_Humidity");
|
||||
be_pop(vm, 1);
|
||||
}
|
||||
/********************************************************************/
|
||||
/* End of solidification */
|
@ -0,0 +1,34 @@
|
||||
/* Solidification of Matter_Plugin_9_Virt_Sensor_Illuminance.h */
|
||||
/********************************************************************\
|
||||
* Generated code, don't edit *
|
||||
\********************************************************************/
|
||||
#include "be_constobj.h"
|
||||
|
||||
extern const bclass be_class_Matter_Plugin_Virt_Sensor_Illuminance;
|
||||
|
||||
/********************************************************************
|
||||
** Solidified class: Matter_Plugin_Virt_Sensor_Illuminance
|
||||
********************************************************************/
|
||||
extern const bclass be_class_Matter_Plugin_Sensor_Illuminance;
|
||||
be_local_class(Matter_Plugin_Virt_Sensor_Illuminance,
|
||||
0,
|
||||
&be_class_Matter_Plugin_Sensor_Illuminance,
|
||||
be_nested_map(5,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_weak(VIRTUAL, 3), be_const_bool(1) },
|
||||
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(v_X2EIlluminance) },
|
||||
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(v_illuminance) },
|
||||
{ be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) },
|
||||
{ be_const_key_weak(ARG, 2), be_nested_str_weak() },
|
||||
})),
|
||||
be_str_weak(Matter_Plugin_Virt_Sensor_Illuminance)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
void be_load_Matter_Plugin_Virt_Sensor_Illuminance_class(bvm *vm) {
|
||||
be_pushntvclass(vm, &be_class_Matter_Plugin_Virt_Sensor_Illuminance);
|
||||
be_setglobal(vm, "Matter_Plugin_Virt_Sensor_Illuminance");
|
||||
be_pop(vm, 1);
|
||||
}
|
||||
/********************************************************************/
|
||||
/* End of solidification */
|
@ -0,0 +1,34 @@
|
||||
/* Solidification of Matter_Plugin_9_Virt_Sensor_Pressure.h */
|
||||
/********************************************************************\
|
||||
* Generated code, don't edit *
|
||||
\********************************************************************/
|
||||
#include "be_constobj.h"
|
||||
|
||||
extern const bclass be_class_Matter_Plugin_Virt_Sensor_Pressure;
|
||||
|
||||
/********************************************************************
|
||||
** Solidified class: Matter_Plugin_Virt_Sensor_Pressure
|
||||
********************************************************************/
|
||||
extern const bclass be_class_Matter_Plugin_Sensor_Pressure;
|
||||
be_local_class(Matter_Plugin_Virt_Sensor_Pressure,
|
||||
0,
|
||||
&be_class_Matter_Plugin_Sensor_Pressure,
|
||||
be_nested_map(5,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_weak(VIRTUAL, 3), be_const_bool(1) },
|
||||
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(v_X2EPressure) },
|
||||
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(v_pressure) },
|
||||
{ be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) },
|
||||
{ be_const_key_weak(ARG, 2), be_nested_str_weak() },
|
||||
})),
|
||||
be_str_weak(Matter_Plugin_Virt_Sensor_Pressure)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
void be_load_Matter_Plugin_Virt_Sensor_Pressure_class(bvm *vm) {
|
||||
be_pushntvclass(vm, &be_class_Matter_Plugin_Virt_Sensor_Pressure);
|
||||
be_setglobal(vm, "Matter_Plugin_Virt_Sensor_Pressure");
|
||||
be_pop(vm, 1);
|
||||
}
|
||||
/********************************************************************/
|
||||
/* End of solidification */
|
@ -0,0 +1,34 @@
|
||||
/* Solidification of Matter_Plugin_9_Virt_Sensor_Temp.h */
|
||||
/********************************************************************\
|
||||
* Generated code, don't edit *
|
||||
\********************************************************************/
|
||||
#include "be_constobj.h"
|
||||
|
||||
extern const bclass be_class_Matter_Plugin_Virt_Sensor_Temp;
|
||||
|
||||
/********************************************************************
|
||||
** Solidified class: Matter_Plugin_Virt_Sensor_Temp
|
||||
********************************************************************/
|
||||
extern const bclass be_class_Matter_Plugin_Sensor_Temp;
|
||||
be_local_class(Matter_Plugin_Virt_Sensor_Temp,
|
||||
0,
|
||||
&be_class_Matter_Plugin_Sensor_Temp,
|
||||
be_nested_map(5,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_weak(VIRTUAL, 3), be_const_bool(1) },
|
||||
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(v_X2ETemperature) },
|
||||
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(v_temp) },
|
||||
{ be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) },
|
||||
{ be_const_key_weak(ARG, 2), be_nested_str_weak() },
|
||||
})),
|
||||
be_str_weak(Matter_Plugin_Virt_Sensor_Temp)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
void be_load_Matter_Plugin_Virt_Sensor_Temp_class(bvm *vm) {
|
||||
be_pushntvclass(vm, &be_class_Matter_Plugin_Virt_Sensor_Temp);
|
||||
be_setglobal(vm, "Matter_Plugin_Virt_Sensor_Temp");
|
||||
be_pop(vm, 1);
|
||||
}
|
||||
/********************************************************************/
|
||||
/* End of solidification */
|
@ -3372,7 +3372,7 @@ be_local_class(Matter_UI,
|
||||
{ be_const_key_weak(show_commissioning_info, -1), be_const_closure(Matter_UI_show_commissioning_info_closure) },
|
||||
{ be_const_key_weak(page_part_ctl, 18), be_const_closure(Matter_UI_page_part_ctl_closure) },
|
||||
{ be_const_key_weak(show_fabric_info, -1), be_const_closure(Matter_UI_show_fabric_info_closure) },
|
||||
{ be_const_key_weak(_CLASSES_TYPES, 4), be_nested_str_weak(_X7Crelay_X7Clight0_X7Clight1_X7Clight2_X7Clight3_X7Cshutter_X7Cshutter_X2Btilt_X7Ctemperature_X7Cpressure_X7Cilluminance_X7Chumidity_X7Coccupancy_X7Conoff_X7Ccontact_X7C_X2Dvirtual_X7Cv_relay_X7Cv_light0_X7Cv_light1_X7Cv_light2_X7Cv_light3) },
|
||||
{ be_const_key_weak(_CLASSES_TYPES, 4), be_nested_str_weak(_X7Crelay_X7Clight0_X7Clight1_X7Clight2_X7Clight3_X7Cshutter_X7Cshutter_X2Btilt_X7Ctemperature_X7Cpressure_X7Cilluminance_X7Chumidity_X7Coccupancy_X7Conoff_X7Ccontact_X7C_X2Dvirtual_X7Cv_relay_X7Cv_light0_X7Cv_light1_X7Cv_light2_X7Cv_light3_X7Cv_temp_X7Cv_pressure_X7Cv_illuminance_X7Cv_humidity_X7Cv_contact) },
|
||||
{ be_const_key_weak(web_get_arg, -1), be_const_closure(Matter_UI_web_get_arg_closure) },
|
||||
{ be_const_key_weak(plugin_option, 5), be_const_closure(Matter_UI_plugin_option_closure) },
|
||||
{ be_const_key_weak(web_add_config_button, -1), be_const_closure(Matter_UI_web_add_config_button_closure) },
|
||||
|
Loading…
x
Reference in New Issue
Block a user