diff --git a/lib/libesp32/berry_matter/src/be_matter_module.c b/lib/libesp32/berry_matter/src/be_matter_module.c index 3e0bab9af..f5a97b7ae 100644 --- a/lib/libesp32/berry_matter/src/be_matter_module.c +++ b/lib/libesp32/berry_matter/src/be_matter_module.c @@ -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 diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Device.be b/lib/libesp32/berry_matter/src/embedded/Matter_Device.be index 5fb12c2fb..3e2439d23 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Device.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Device.be @@ -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() diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_0.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_0.be index 7a37e4e47..3e7bb9e42 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_0.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_0.be @@ -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 diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_1_Device.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_1_Device.be index d4d3a7ae4..411cb2255 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_1_Device.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_1_Device.be @@ -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 diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_1_Root.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_1_Root.be index 6324ce3f5..f02fedadf 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_1_Root.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_1_Root.be @@ -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 diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_Aggregator.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_Aggregator.be index 77ddc7d6f..39dd77cc9 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_Aggregator.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_Aggregator.be @@ -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 # } diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_Bridge_HTTP.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_Bridge_HTTP.be index 4a6b69ea8..46087cd4e 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_Bridge_HTTP.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_Bridge_HTTP.be @@ -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 diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_Light0.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_Light0.be index daf07dbbe..1dbdd2266 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_Light0.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_Light0.be @@ -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() diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_OnOff.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_OnOff.be index 6ef80c0b7..ad66d4c75 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_OnOff.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_OnOff.be @@ -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 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 diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_Sensor.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_Sensor.be index 8567c555e..bb44c91aa 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_Sensor.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_Sensor.be @@ -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(, )` - 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 diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_Shutter.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_Shutter.be index 3455a34e6..54e832f85 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_Shutter.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_Shutter.be @@ -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 number" diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Bridge_Light0.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Bridge_Light0.be index 7e8b21940..fe0bc8a81 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Bridge_Light0.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Bridge_Light0.be @@ -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 number" static var ARG_TYPE = / x -> int(x) # function to convert argument to the right type diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Bridge_Sensor.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Bridge_Sensor.be index 70c80de8e..301c1c02a 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Bridge_Sensor.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Bridge_Sensor.be @@ -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(, )` - def value_changed(val) + def value_changed() # self.attribute_updated(0x0402, 0x0000) end diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Light1.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Light1.be index c2be8e5ac..03a55b1c7 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Light1.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Light1.be @@ -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 diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Sensor_Contact.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Sensor_Contact.be index bce20c0a2..d420e09c4 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Sensor_Contact.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Sensor_Contact.be @@ -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 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 diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Sensor_Humidity.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Sensor_Humidity.be index 199fee6b9..e3ff44184 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Sensor_Humidity.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Sensor_Humidity.be @@ -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(, )` - 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 diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Sensor_Illuminance.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Sensor_Illuminance.be index bc521d34e..e49de236d 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Sensor_Illuminance.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Sensor_Illuminance.be @@ -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(, )` - 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 diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Sensor_Occupancy.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Sensor_Occupancy.be index 25951762b..7c2b0c925 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Sensor_Occupancy.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Sensor_Occupancy.be @@ -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 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 diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Sensor_OnOff.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Sensor_OnOff.be index 5a1da4749..79eb51c62 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Sensor_OnOff.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Sensor_OnOff.be @@ -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 number" static var ARG_TYPE = / x -> int(x) # function to convert argument to the right type diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Sensor_Pressure.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Sensor_Pressure.be index 74a2d2615..54a0b7627 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Sensor_Pressure.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Sensor_Pressure.be @@ -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(, )` - 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 diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Sensor_Temp.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Sensor_Temp.be index 412a053b4..2b6ac22f7 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Sensor_Temp.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Sensor_Temp.be @@ -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(, )` - 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 diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_ShutterTilt.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_ShutterTilt.be index 133e20010..f73548f69 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_ShutterTilt.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_ShutterTilt.be @@ -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, { diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Light1.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Light1.be index 93716bca0..b20d27ff4 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Light1.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Light1.be @@ -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, { diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_OnOff.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_OnOff.be index 69d49a03c..a2c3f388f 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_OnOff.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_OnOff.be @@ -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 number" static var TYPES = { 0x010A: 2 } # On/Off Plug-in Unit diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Sensor_Contact.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Sensor_Contact.be index bc7da705d..d4f738e26 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Sensor_Contact.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Sensor_Contact.be @@ -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 number" static var ARG_TYPE = / x -> int(x) # function to convert argument to the right type diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Sensor_Humidity.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Sensor_Humidity.be index cf2f20b2b..7e8b62342 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Sensor_Humidity.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Sensor_Humidity.be @@ -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(, )` - def value_changed(val) + def value_changed() self.attribute_updated(0x0405, 0x0000) end diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Sensor_Illuminance.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Sensor_Illuminance.be index 2f0de11d1..48e0bf8de 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Sensor_Illuminance.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Sensor_Illuminance.be @@ -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(, )` - def value_changed(val) + def value_changed() self.attribute_updated(0x0400, 0x0000) end diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Sensor_Occupancy.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Sensor_Occupancy.be index 460f9201e..8279a6088 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Sensor_Occupancy.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Sensor_Occupancy.be @@ -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 number" static var ARG_TYPE = / x -> int(x) # function to convert argument to the right type diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Sensor_Pressure.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Sensor_Pressure.be index 68c290613..86dec0081 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Sensor_Pressure.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Sensor_Pressure.be @@ -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(, )` - def value_changed(val) + def value_changed() self.attribute_updated(0x0403, 0x0000) end diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Sensor_Temp.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Sensor_Temp.be index 0334ae027..771c6eb7d 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Sensor_Temp.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Sensor_Temp.be @@ -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(, )` - def value_changed(val) + def value_changed() self.attribute_updated(0x0402, 0x0000) end diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Light2.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Light2.be index 861949e28..c4d4f9317 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Light2.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Light2.be @@ -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() diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Light3.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Light3.be index ac5cb78d8..8f7dd46fd 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Light3.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Light3.be @@ -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 diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_5_Bridge_Light2.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_5_Bridge_Light2.be index a13c00abc..56d1d9de6 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_5_Bridge_Light2.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_5_Bridge_Light2.be @@ -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, { diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_5_Bridge_Light3.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_5_Bridge_Light3.be index 6b7d2baff..abb4e9672 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_5_Bridge_Light3.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_5_Bridge_Light3.be @@ -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, { diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_9_Virt_Light0.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_9_Virt_Light0.be index b2b036c0f..cbe90af7d 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_9_Virt_Light0.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_9_Virt_Light0.be @@ -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 diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_9_Virt_Light1.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_9_Virt_Light1.be index 5e54eb95e..8697bf2df 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_9_Virt_Light1.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_9_Virt_Light1.be @@ -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 diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_9_Virt_Light2.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_9_Virt_Light2.be index 2ad7d71ae..20876b842 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_9_Virt_Light2.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_9_Virt_Light2.be @@ -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 diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_9_Virt_Light3.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_9_Virt_Light3.be index 0f51e9615..15e7e2ae1 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_9_Virt_Light3.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_9_Virt_Light3.be @@ -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 diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_9_Virt_OnOff.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_9_Virt_OnOff.be index 9695ee49a..d9bb5403b 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_9_Virt_OnOff.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_9_Virt_OnOff.be @@ -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 diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_9_Virt_Sensor_Contact.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_9_Virt_Sensor_Contact.be new file mode 100644 index 000000000..0cf722866 --- /dev/null +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_9_Virt_Sensor_Contact.be @@ -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 . +# + +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 diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_9_Virt_Sensor_Humidity.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_9_Virt_Sensor_Humidity.be new file mode 100644 index 000000000..0fb033a55 --- /dev/null +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_9_Virt_Sensor_Humidity.be @@ -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 . +# + +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 diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_9_Virt_Sensor_Illuminance.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_9_Virt_Sensor_Illuminance.be new file mode 100644 index 000000000..76090f41a --- /dev/null +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_9_Virt_Sensor_Illuminance.be @@ -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 . +# + +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 diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_9_Virt_Sensor_Pressure.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_9_Virt_Sensor_Pressure.be new file mode 100644 index 000000000..c661b2b0d --- /dev/null +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_9_Virt_Sensor_Pressure.be @@ -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 . +# + +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 diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_9_Virt_Sensor_Temp.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_9_Virt_Sensor_Temp.be new file mode 100644 index 000000000..8ad2b11e3 --- /dev/null +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_9_Virt_Sensor_Temp.be @@ -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 . +# + +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 diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_UI.be b/lib/libesp32/berry_matter/src/embedded/Matter_UI.be index cc4788626..278d8c250 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_UI.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_UI.be @@ -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" diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Device.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Device.h index d24f23e28..c495049d4 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Device.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Device.h @@ -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), diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_0.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_0.h index ce621266e..6e5811686 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_0.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_0.h @@ -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: +** 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: ********************************************************************/ -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) diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_1_Root.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_1_Root.h index 3d1984ba2..b435e2ca6 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_1_Root.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_1_Root.h @@ -6,871 +6,6 @@ extern const bclass be_class_Matter_Plugin_Root; -/******************************************************************** -** Solidified function: invoke_request -********************************************************************/ -be_local_closure(Matter_Plugin_Root_invoke_request, /* name */ - be_nested_proto( - 30, /* nstack */ - 4, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 1, /* has sup protos */ - ( &(const struct bproto*[ 1]) { - be_nested_proto( - 3, /* nstack */ - 0, /* argc */ - 0, /* varg */ - 1, /* has upvals */ - ( &(const bupvaldesc[ 2]) { /* upvals */ - be_local_const_upval(1, 0), - be_local_const_upval(1, 10), - }), - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[ 2]) { /* constants */ - /* K0 */ be_nested_str_weak(device), - /* K1 */ be_nested_str_weak(remove_fabric), - }), - be_str_weak(_anonymous_), - &be_const_str_solidified, - ( &(const binstruction[ 6]) { /* code */ - 0x68000000, // 0000 GETUPV R0 U0 - 0x88000100, // 0001 GETMBR R0 R0 K0 - 0x8C000101, // 0002 GETMET R0 R0 K1 - 0x68080001, // 0003 GETUPV R2 U1 - 0x7C000400, // 0004 CALL R0 2 - 0x80000000, // 0005 RET 0 - }) - ), - }), - 1, /* has constants */ - ( &(const bvalue[100]) { /* constants */ - /* K0 */ be_nested_str_weak(crypto), - /* 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_const_int(0), - /* K6 */ be_nested_str_weak(findsubval), - /* K7 */ be_const_int(1), - /* K8 */ be_nested_str_weak(_breadcrumb), - /* K9 */ be_nested_str_weak(Matter_TLV_struct), - /* K10 */ be_nested_str_weak(add_TLV), - /* K11 */ be_nested_str_weak(U1), - /* K12 */ be_nested_str_weak(UTF1), - /* K13 */ be_nested_str_weak(), - /* K14 */ be_const_int(2), - /* K15 */ be_nested_str_weak(XX), - /* K16 */ be_const_int(3), - /* K17 */ be_nested_str_weak(ack_request), - /* K18 */ be_nested_str_weak(_fabric), - /* K19 */ be_nested_str_weak(fabric_completed), - /* K20 */ be_nested_str_weak(set_no_expiration), - /* K21 */ be_nested_str_weak(save), - /* K22 */ be_nested_str_weak(device), - /* K23 */ be_nested_str_weak(start_commissioning_complete_deferred), - /* K24 */ be_nested_str_weak(context_error), - /* K25 */ be_nested_str_weak(CommissioningComplete_X3A_X20no_X20fabric_X20attached), - /* K26 */ be_nested_str_weak(status), - /* K27 */ be_nested_str_weak(UNSUPPORTED_COMMAND), - /* K28 */ be_nested_str_weak(B2), - /* K29 */ be_nested_str_weak(DAC_Cert_FFF1_8000), - /* K30 */ be_nested_str_weak(PAI_Cert_FFF1), - /* K31 */ be_nested_str_weak(CD_FFF1_8000), - /* K32 */ be_nested_str_weak(B1), - /* K33 */ be_nested_str_weak(U4), - /* K34 */ be_nested_str_weak(tasmota), - /* K35 */ be_nested_str_weak(rtc_utc), - /* K36 */ be_nested_str_weak(tlv2raw), - /* K37 */ be_nested_str_weak(get_ac), - /* K38 */ be_nested_str_weak(EC_P256), - /* K39 */ be_nested_str_weak(ecdsa_sign_sha256), - /* K40 */ be_nested_str_weak(DAC_Priv_FFF1_8000), - /* K41 */ be_nested_str_weak(gen_CSR), - /* K42 */ be_nested_str_weak(set_temp_ca), - /* K43 */ be_nested_str_weak(SUCCESS), - /* K44 */ be_nested_str_weak(log), - /* K45 */ be_nested_str_weak(MTR_X3A_X20AddNoc_X20Args_X3D), - /* K46 */ be_nested_str_weak(get_temp_ca), - /* K47 */ be_nested_str_weak(MTR_X3A_X20Error_X3A_X20AdNOC_X20without_X20CA), - /* K48 */ be_nested_str_weak(sessions), - /* K49 */ be_nested_str_weak(create_fabric), - /* K50 */ be_nested_str_weak(set_ca), - /* K51 */ be_nested_str_weak(set_noc_icac), - /* K52 */ be_nested_str_weak(set_ipk_epoch_key), - /* K53 */ be_nested_str_weak(set_admin_subject_vendor), - /* K54 */ be_nested_str_weak(set_pk), - /* K55 */ be_nested_str_weak(get_pk), - /* K56 */ be_nested_str_weak(parse), - /* K57 */ be_nested_str_weak(findsub), - /* K58 */ be_nested_str_weak(MTR_X3A_X20Error_X3A_X20no_X20fabricid_X20nor_X20deviceid_X20in_X20NOC_X20certificate), - /* K59 */ be_nested_str_weak(int), - /* K60 */ be_nested_str_weak(int64), - /* K61 */ be_nested_str_weak(fromu32), - /* K62 */ be_nested_str_weak(tobytes), - /* K63 */ be_nested_str_weak(get_temp_ca_pub), - /* K64 */ be_const_int(2147483647), - /* K65 */ be_nested_str_weak(fromstring), - /* K66 */ be_nested_str_weak(CompressedFabric), - /* K67 */ be_nested_str_weak(HKDF_SHA256), - /* K68 */ be_nested_str_weak(copy), - /* K69 */ be_nested_str_weak(reverse), - /* K70 */ be_nested_str_weak(derive), - /* K71 */ be_nested_str_weak(commissioning_admin_fabric), - /* K72 */ be_nested_str_weak(set_fabric_device), - /* K73 */ be_nested_str_weak(fabric_candidate), - /* K74 */ be_nested_str_weak(start_operational_discovery_deferred), - /* K75 */ be_nested_str_weak(is_PASE), - /* K76 */ be_nested_str_weak(set_expire_in_seconds), - /* K77 */ be_nested_str_weak(log_new_fabric), - /* K78 */ be_nested_str_weak(set_fabric_label), - /* K79 */ be_nested_str_weak(MTR_X3A_X20_X2E_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Update_X20fabric_X20_X27_X25s_X27_X20label_X3D_X27_X25s_X27), - /* K80 */ be_nested_str_weak(get_fabric_id), - /* K81 */ be_nested_str_weak(tohex), - /* K82 */ be_nested_str_weak(fabric_index_X3A), - /* K83 */ be_nested_str_weak(active_fabrics), - /* K84 */ be_nested_str_weak(get_fabric_index), - /* K85 */ be_nested_str_weak(set_timer), - /* K86 */ be_nested_str_weak(stop_iteration), - /* K87 */ be_nested_str_weak(MTR_X3A_X20RemoveFabric_X20fabric_X28), - /* K88 */ be_nested_str_weak(_X29_X20not_X20found), - /* K89 */ be_nested_str_weak(INVALID_ACTION), - /* K90 */ be_nested_str_weak(MTR_X3A_X20OpenCommissioningWindow_X28timeout_X3D_X25i_X2C_X20passcode_X3D_X25s_X2C_X20discriminator_X3D_X25i_X2C_X20iterations_X3D_X25i_X2C_X20salt_X3D_X25s_X29), - /* K91 */ be_nested_str_weak(INVALID_DATA_TYPE), - /* K92 */ be_nested_str_weak(MTR_X3A_X20wrong_X20size_X20for_X20PAKE_X20parameters), - /* K93 */ be_nested_str_weak(CONSTRAINT_ERROR), - /* K94 */ be_nested_str_weak(start_basic_commissioning), - /* K95 */ be_nested_str_weak(get_fabric), - /* K96 */ be_nested_str_weak(MTR_X3A_X20OpenBasicCommissioningWindow_X20commissioning_timeout_X3D), - /* K97 */ be_nested_str_weak(start_root_basic_commissioning), - /* K98 */ be_nested_str_weak(stop_basic_commissioning), - /* K99 */ be_nested_str_weak(invoke_request), - }), - be_str_weak(invoke_request), - &be_const_str_solidified, - ( &(const binstruction[713]) { /* 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 - 0x5422002F, // 0005 LDINT R8 48 - 0x1C200C08, // 0006 EQ R8 R6 R8 - 0x7822005C, // 0007 JMPF R8 #0065 - 0x1C200F05, // 0008 EQ R8 R7 K5 - 0x78220017, // 0009 JMPF R8 #0022 - 0x8C200506, // 000A GETMET R8 R2 K6 - 0x58280005, // 000B LDCONST R10 K5 - 0x542E0383, // 000C LDINT R11 900 - 0x7C200600, // 000D CALL R8 3 - 0x8C240506, // 000E GETMET R9 R2 K6 - 0x582C0007, // 000F LDCONST R11 K7 - 0x58300005, // 0010 LDCONST R12 K5 - 0x7C240600, // 0011 CALL R9 3 - 0x90061009, // 0012 SETMBR R1 K8 R9 - 0x8C280B09, // 0013 GETMET R10 R5 K9 - 0x7C280200, // 0014 CALL R10 1 - 0x8C2C150A, // 0015 GETMET R11 R10 K10 - 0x58340005, // 0016 LDCONST R13 K5 - 0x88380B0B, // 0017 GETMBR R14 R5 K11 - 0x583C0005, // 0018 LDCONST R15 K5 - 0x7C2C0800, // 0019 CALL R11 4 - 0x8C2C150A, // 001A GETMET R11 R10 K10 - 0x58340007, // 001B LDCONST R13 K7 - 0x88380B0C, // 001C GETMBR R14 R5 K12 - 0x583C000D, // 001D LDCONST R15 K13 - 0x7C2C0800, // 001E CALL R11 4 - 0x900E0907, // 001F SETMBR R3 K4 K7 - 0x80041400, // 0020 RET 1 R10 - 0x70020041, // 0021 JMP #0064 - 0x1C200F0E, // 0022 EQ R8 R7 K14 - 0x7822001A, // 0023 JMPF R8 #003F - 0x8C200506, // 0024 GETMET R8 R2 K6 - 0x58280005, // 0025 LDCONST R10 K5 - 0x7C200400, // 0026 CALL R8 2 - 0x8C240506, // 0027 GETMET R9 R2 K6 - 0x582C0007, // 0028 LDCONST R11 K7 - 0x5830000F, // 0029 LDCONST R12 K15 - 0x7C240600, // 002A CALL R9 3 - 0x8C280506, // 002B GETMET R10 R2 K6 - 0x5830000E, // 002C LDCONST R12 K14 - 0x58340005, // 002D LDCONST R13 K5 - 0x7C280600, // 002E CALL R10 3 - 0x9006100A, // 002F SETMBR R1 K8 R10 - 0x8C2C0B09, // 0030 GETMET R11 R5 K9 - 0x7C2C0200, // 0031 CALL R11 1 - 0x8C30170A, // 0032 GETMET R12 R11 K10 - 0x58380005, // 0033 LDCONST R14 K5 - 0x883C0B0B, // 0034 GETMBR R15 R5 K11 - 0x58400005, // 0035 LDCONST R16 K5 - 0x7C300800, // 0036 CALL R12 4 - 0x8C30170A, // 0037 GETMET R12 R11 K10 - 0x58380007, // 0038 LDCONST R14 K7 - 0x883C0B0C, // 0039 GETMBR R15 R5 K12 - 0x5840000D, // 003A LDCONST R16 K13 - 0x7C300800, // 003B CALL R12 4 - 0x900E0910, // 003C SETMBR R3 K4 K16 - 0x80041600, // 003D RET 1 R11 - 0x70020024, // 003E JMP #0064 - 0x54220003, // 003F LDINT R8 4 - 0x1C200E08, // 0040 EQ R8 R7 R8 - 0x78220021, // 0041 JMPF R8 #0064 - 0x8C200111, // 0042 GETMET R8 R0 K17 - 0x5C280600, // 0043 MOVE R10 R3 - 0x7C200400, // 0044 CALL R8 2 - 0x88200312, // 0045 GETMBR R8 R1 K18 - 0x7822001B, // 0046 JMPF R8 #0063 - 0x90061105, // 0047 SETMBR R1 K8 K5 - 0x88200312, // 0048 GETMBR R8 R1 K18 - 0x8C201113, // 0049 GETMET R8 R8 K19 - 0x7C200200, // 004A CALL R8 1 - 0x8C200314, // 004B GETMET R8 R1 K20 - 0x7C200200, // 004C CALL R8 1 - 0x8C200315, // 004D GETMET R8 R1 K21 - 0x7C200200, // 004E CALL R8 1 - 0x8C200B09, // 004F GETMET R8 R5 K9 - 0x7C200200, // 0050 CALL R8 1 - 0x8C24110A, // 0051 GETMET R9 R8 K10 - 0x582C0005, // 0052 LDCONST R11 K5 - 0x88300B0B, // 0053 GETMBR R12 R5 K11 - 0x58340005, // 0054 LDCONST R13 K5 - 0x7C240800, // 0055 CALL R9 4 - 0x8C24110A, // 0056 GETMET R9 R8 K10 - 0x582C0007, // 0057 LDCONST R11 K7 - 0x88300B0C, // 0058 GETMBR R12 R5 K12 - 0x5834000D, // 0059 LDCONST R13 K13 - 0x7C240800, // 005A CALL R9 4 - 0x54260004, // 005B LDINT R9 5 - 0x900E0809, // 005C SETMBR R3 K4 R9 - 0x88240116, // 005D GETMBR R9 R0 K22 - 0x8C241317, // 005E GETMET R9 R9 K23 - 0x5C2C0200, // 005F MOVE R11 R1 - 0x7C240400, // 0060 CALL R9 2 - 0x80041000, // 0061 RET 1 R8 - 0x70020000, // 0062 JMP #0064 - 0xB0063119, // 0063 RAISE 1 K24 K25 - 0x70020261, // 0064 JMP #02C7 - 0x5422003D, // 0065 LDINT R8 62 - 0x1C200C08, // 0066 EQ R8 R6 R8 - 0x782201C2, // 0067 JMPF R8 #022B - 0x1C200F0E, // 0068 EQ R8 R7 K14 - 0x7822001D, // 0069 JMPF R8 #0088 - 0x8C200506, // 006A GETMET R8 R2 K6 - 0x58280005, // 006B LDCONST R10 K5 - 0x7C200400, // 006C CALL R8 2 - 0x20241107, // 006D NE R9 R8 K7 - 0x78260006, // 006E JMPF R9 #0076 - 0x2024110E, // 006F NE R9 R8 K14 - 0x78260004, // 0070 JMPF R9 #0076 - 0xB8260200, // 0071 GETNGBL R9 K1 - 0x8824131B, // 0072 GETMBR R9 R9 K27 - 0x900E3409, // 0073 SETMBR R3 K26 R9 - 0x4C240000, // 0074 LDNIL R9 - 0x80041200, // 0075 RET 1 R9 - 0x8C240B09, // 0076 GETMET R9 R5 K9 - 0x7C240200, // 0077 CALL R9 1 - 0x8C28130A, // 0078 GETMET R10 R9 K10 - 0x58300005, // 0079 LDCONST R12 K5 - 0x88340B1C, // 007A GETMBR R13 R5 K28 - 0x1C381107, // 007B EQ R14 R8 K7 - 0x783A0003, // 007C JMPF R14 #0081 - 0xB83A0200, // 007D GETNGBL R14 K1 - 0x8C381D1D, // 007E GETMET R14 R14 K29 - 0x7C380200, // 007F CALL R14 1 - 0x70020002, // 0080 JMP #0084 - 0xB83A0200, // 0081 GETNGBL R14 K1 - 0x8C381D1E, // 0082 GETMET R14 R14 K30 - 0x7C380200, // 0083 CALL R14 1 - 0x7C280800, // 0084 CALL R10 4 - 0x900E0910, // 0085 SETMBR R3 K4 K16 - 0x80041200, // 0086 RET 1 R9 - 0x700201A1, // 0087 JMP #022A - 0x1C200F05, // 0088 EQ R8 R7 K5 - 0x7822003C, // 0089 JMPF R8 #00C7 - 0x8C200506, // 008A GETMET R8 R2 K6 - 0x58280005, // 008B LDCONST R10 K5 - 0x7C200400, // 008C CALL R8 2 - 0x6024000C, // 008D GETGBL R9 G12 - 0x5C281000, // 008E MOVE R10 R8 - 0x7C240200, // 008F CALL R9 1 - 0x542A001F, // 0090 LDINT R10 32 - 0x2024120A, // 0091 NE R9 R9 R10 - 0x78260001, // 0092 JMPF R9 #0095 - 0x4C240000, // 0093 LDNIL R9 - 0x80041200, // 0094 RET 1 R9 - 0x900E0907, // 0095 SETMBR R3 K4 K7 - 0x8C240B09, // 0096 GETMET R9 R5 K9 - 0x7C240200, // 0097 CALL R9 1 - 0x8C28130A, // 0098 GETMET R10 R9 K10 - 0x58300007, // 0099 LDCONST R12 K7 - 0x88340B1C, // 009A GETMBR R13 R5 K28 - 0xB83A0200, // 009B GETNGBL R14 K1 - 0x8C381D1F, // 009C GETMET R14 R14 K31 - 0x7C380200, // 009D CALL R14 1 - 0x7C280800, // 009E CALL R10 4 - 0x8C28130A, // 009F GETMET R10 R9 K10 - 0x5830000E, // 00A0 LDCONST R12 K14 - 0x88340B20, // 00A1 GETMBR R13 R5 K32 - 0x5C381000, // 00A2 MOVE R14 R8 - 0x7C280800, // 00A3 CALL R10 4 - 0x8C28130A, // 00A4 GETMET R10 R9 K10 - 0x58300010, // 00A5 LDCONST R12 K16 - 0x88340B21, // 00A6 GETMBR R13 R5 K33 - 0xB83A4400, // 00A7 GETNGBL R14 K34 - 0x8C381D23, // 00A8 GETMET R14 R14 K35 - 0x7C380200, // 00A9 CALL R14 1 - 0x7C280800, // 00AA CALL R10 4 - 0x8C281324, // 00AB GETMET R10 R9 K36 - 0x7C280200, // 00AC CALL R10 1 - 0x8C2C0325, // 00AD GETMET R11 R1 K37 - 0x7C2C0200, // 00AE CALL R11 1 - 0x0030140B, // 00AF ADD R12 R10 R11 - 0x8C340926, // 00B0 GETMET R13 R4 K38 - 0x7C340200, // 00B1 CALL R13 1 - 0x8C341B27, // 00B2 GETMET R13 R13 K39 - 0xB83E0200, // 00B3 GETNGBL R15 K1 - 0x8C3C1F28, // 00B4 GETMET R15 R15 K40 - 0x7C3C0200, // 00B5 CALL R15 1 - 0x5C401800, // 00B6 MOVE R16 R12 - 0x7C340600, // 00B7 CALL R13 3 - 0x8C380B09, // 00B8 GETMET R14 R5 K9 - 0x7C380200, // 00B9 CALL R14 1 - 0x8C3C1D0A, // 00BA GETMET R15 R14 K10 - 0x58440005, // 00BB LDCONST R17 K5 - 0x88480B1C, // 00BC GETMBR R18 R5 K28 - 0x5C4C1400, // 00BD MOVE R19 R10 - 0x7C3C0800, // 00BE CALL R15 4 - 0x8C3C1D0A, // 00BF GETMET R15 R14 K10 - 0x58440007, // 00C0 LDCONST R17 K7 - 0x88480B20, // 00C1 GETMBR R18 R5 K32 - 0x5C4C1A00, // 00C2 MOVE R19 R13 - 0x7C3C0800, // 00C3 CALL R15 4 - 0x900E0907, // 00C4 SETMBR R3 K4 K7 - 0x80041C00, // 00C5 RET 1 R14 - 0x70020162, // 00C6 JMP #022A - 0x54220003, // 00C7 LDINT R8 4 - 0x1C200E08, // 00C8 EQ R8 R7 R8 - 0x7822003C, // 00C9 JMPF R8 #0107 - 0x8C200111, // 00CA GETMET R8 R0 K17 - 0x5C280600, // 00CB MOVE R10 R3 - 0x7C200400, // 00CC CALL R8 2 - 0x8C200506, // 00CD GETMET R8 R2 K6 - 0x58280005, // 00CE LDCONST R10 K5 - 0x7C200400, // 00CF CALL R8 2 - 0x6024000C, // 00D0 GETGBL R9 G12 - 0x5C281000, // 00D1 MOVE R10 R8 - 0x7C240200, // 00D2 CALL R9 1 - 0x542A001F, // 00D3 LDINT R10 32 - 0x2024120A, // 00D4 NE R9 R9 R10 - 0x78260001, // 00D5 JMPF R9 #00D8 - 0x4C240000, // 00D6 LDNIL R9 - 0x80041200, // 00D7 RET 1 R9 - 0x8C240506, // 00D8 GETMET R9 R2 K6 - 0x582C0007, // 00D9 LDCONST R11 K7 - 0x50300000, // 00DA LDBOOL R12 0 0 - 0x7C240600, // 00DB CALL R9 3 - 0x8C280329, // 00DC GETMET R10 R1 K41 - 0x7C280200, // 00DD CALL R10 1 - 0x8C2C0B09, // 00DE GETMET R11 R5 K9 - 0x7C2C0200, // 00DF CALL R11 1 - 0x8C30170A, // 00E0 GETMET R12 R11 K10 - 0x58380007, // 00E1 LDCONST R14 K7 - 0x883C0B1C, // 00E2 GETMBR R15 R5 K28 - 0x5C401400, // 00E3 MOVE R16 R10 - 0x7C300800, // 00E4 CALL R12 4 - 0x8C30170A, // 00E5 GETMET R12 R11 K10 - 0x5838000E, // 00E6 LDCONST R14 K14 - 0x883C0B20, // 00E7 GETMBR R15 R5 K32 - 0x5C401000, // 00E8 MOVE R16 R8 - 0x7C300800, // 00E9 CALL R12 4 - 0x8C301724, // 00EA GETMET R12 R11 K36 - 0x7C300200, // 00EB CALL R12 1 - 0x8C340325, // 00EC GETMET R13 R1 K37 - 0x7C340200, // 00ED CALL R13 1 - 0x0034180D, // 00EE ADD R13 R12 R13 - 0x8C380926, // 00EF GETMET R14 R4 K38 - 0x7C380200, // 00F0 CALL R14 1 - 0x8C381D27, // 00F1 GETMET R14 R14 K39 - 0xB8420200, // 00F2 GETNGBL R16 K1 - 0x8C402128, // 00F3 GETMET R16 R16 K40 - 0x7C400200, // 00F4 CALL R16 1 - 0x5C441A00, // 00F5 MOVE R17 R13 - 0x7C380600, // 00F6 CALL R14 3 - 0x8C3C0B09, // 00F7 GETMET R15 R5 K9 - 0x7C3C0200, // 00F8 CALL R15 1 - 0x8C401F0A, // 00F9 GETMET R16 R15 K10 - 0x58480005, // 00FA LDCONST R18 K5 - 0x884C0B1C, // 00FB GETMBR R19 R5 K28 - 0x5C501800, // 00FC MOVE R20 R12 - 0x7C400800, // 00FD CALL R16 4 - 0x8C401F0A, // 00FE GETMET R16 R15 K10 - 0x58480007, // 00FF LDCONST R18 K7 - 0x884C0B20, // 0100 GETMBR R19 R5 K32 - 0x5C501C00, // 0101 MOVE R20 R14 - 0x7C400800, // 0102 CALL R16 4 - 0x54420004, // 0103 LDINT R16 5 - 0x900E0810, // 0104 SETMBR R3 K4 R16 - 0x80041E00, // 0105 RET 1 R15 - 0x70020122, // 0106 JMP #022A - 0x5422000A, // 0107 LDINT R8 11 - 0x1C200E08, // 0108 EQ R8 R7 R8 - 0x7822000B, // 0109 JMPF R8 #0116 - 0x8C200506, // 010A GETMET R8 R2 K6 - 0x58280005, // 010B LDCONST R10 K5 - 0x7C200400, // 010C CALL R8 2 - 0x8C24032A, // 010D GETMET R9 R1 K42 - 0x5C2C1000, // 010E MOVE R11 R8 - 0x7C240400, // 010F CALL R9 2 - 0xB8260200, // 0110 GETNGBL R9 K1 - 0x8824132B, // 0111 GETMBR R9 R9 K43 - 0x900E3409, // 0112 SETMBR R3 K26 R9 - 0x4C240000, // 0113 LDNIL R9 - 0x80041200, // 0114 RET 1 R9 - 0x70020113, // 0115 JMP #022A - 0x54220005, // 0116 LDINT R8 6 - 0x1C200E08, // 0117 EQ R8 R7 R8 - 0x782200B9, // 0118 JMPF R8 #01D3 - 0xB8224400, // 0119 GETNGBL R8 K34 - 0x8C20112C, // 011A GETMET R8 R8 K44 - 0x60280008, // 011B GETGBL R10 G8 - 0x5C2C0400, // 011C MOVE R11 R2 - 0x7C280200, // 011D CALL R10 1 - 0x002A5A0A, // 011E ADD R10 K45 R10 - 0x542E0003, // 011F LDINT R11 4 - 0x7C200600, // 0120 CALL R8 3 - 0x8C200506, // 0121 GETMET R8 R2 K6 - 0x58280005, // 0122 LDCONST R10 K5 - 0x7C200400, // 0123 CALL R8 2 - 0x8C240506, // 0124 GETMET R9 R2 K6 - 0x582C0007, // 0125 LDCONST R11 K7 - 0x7C240400, // 0126 CALL R9 2 - 0x6028000C, // 0127 GETGBL R10 G12 - 0x5C2C1200, // 0128 MOVE R11 R9 - 0x7C280200, // 0129 CALL R10 1 - 0x1C281505, // 012A EQ R10 R10 K5 - 0x782A0000, // 012B JMPF R10 #012D - 0x4C240000, // 012C LDNIL R9 - 0x8C280506, // 012D GETMET R10 R2 K6 - 0x5830000E, // 012E LDCONST R12 K14 - 0x7C280400, // 012F CALL R10 2 - 0x8C2C0506, // 0130 GETMET R11 R2 K6 - 0x58340010, // 0131 LDCONST R13 K16 - 0x7C2C0400, // 0132 CALL R11 2 - 0x8C300506, // 0133 GETMET R12 R2 K6 - 0x543A0003, // 0134 LDINT R14 4 - 0x7C300400, // 0135 CALL R12 2 - 0x8C34032E, // 0136 GETMET R13 R1 K46 - 0x7C340200, // 0137 CALL R13 1 - 0x4C380000, // 0138 LDNIL R14 - 0x1C341A0E, // 0139 EQ R13 R13 R14 - 0x78360006, // 013A JMPF R13 #0142 - 0xB8364400, // 013B GETNGBL R13 K34 - 0x8C341B2C, // 013C GETMET R13 R13 K44 - 0x583C002F, // 013D LDCONST R15 K47 - 0x5840000E, // 013E LDCONST R16 K14 - 0x7C340600, // 013F CALL R13 3 - 0x4C340000, // 0140 LDNIL R13 - 0x80041A00, // 0141 RET 1 R13 - 0x88340116, // 0142 GETMBR R13 R0 K22 - 0x88341B30, // 0143 GETMBR R13 R13 K48 - 0x8C341B31, // 0144 GETMET R13 R13 K49 - 0x7C340200, // 0145 CALL R13 1 - 0x8C381B32, // 0146 GETMET R14 R13 K50 - 0x8C40032E, // 0147 GETMET R16 R1 K46 - 0x7C400200, // 0148 CALL R16 1 - 0x7C380400, // 0149 CALL R14 2 - 0x8C381B33, // 014A GETMET R14 R13 K51 - 0x5C401000, // 014B MOVE R16 R8 - 0x5C441200, // 014C MOVE R17 R9 - 0x7C380600, // 014D CALL R14 3 - 0x8C381B34, // 014E GETMET R14 R13 K52 - 0x5C401400, // 014F MOVE R16 R10 - 0x7C380400, // 0150 CALL R14 2 - 0x8C381B35, // 0151 GETMET R14 R13 K53 - 0x5C401600, // 0152 MOVE R16 R11 - 0x5C441800, // 0153 MOVE R17 R12 - 0x7C380600, // 0154 CALL R14 3 - 0x8C381B36, // 0155 GETMET R14 R13 K54 - 0x8C400337, // 0156 GETMET R16 R1 K55 - 0x7C400200, // 0157 CALL R16 1 - 0x7C380400, // 0158 CALL R14 2 - 0xB83A0200, // 0159 GETNGBL R14 K1 - 0x88381D02, // 015A GETMBR R14 R14 K2 - 0x8C381D38, // 015B GETMET R14 R14 K56 - 0x5C401000, // 015C MOVE R16 R8 - 0x7C380400, // 015D CALL R14 2 - 0x8C3C1D39, // 015E GETMET R15 R14 K57 - 0x54460005, // 015F LDINT R17 6 - 0x7C3C0400, // 0160 CALL R15 2 - 0x8C401F06, // 0161 GETMET R16 R15 K6 - 0x544A0014, // 0162 LDINT R18 21 - 0x7C400400, // 0163 CALL R16 2 - 0x8C441F06, // 0164 GETMET R17 R15 K6 - 0x544E0010, // 0165 LDINT R19 17 - 0x7C440400, // 0166 CALL R17 2 - 0x5C482000, // 0167 MOVE R18 R16 - 0x784A0001, // 0168 JMPF R18 #016B - 0x5C482200, // 0169 MOVE R18 R17 - 0x744A0006, // 016A JMPT R18 #0172 - 0xB84A4400, // 016B GETNGBL R18 K34 - 0x8C48252C, // 016C GETMET R18 R18 K44 - 0x5850003A, // 016D LDCONST R20 K58 - 0x5854000E, // 016E LDCONST R21 K14 - 0x7C480600, // 016F CALL R18 3 - 0x50480000, // 0170 LDBOOL R18 0 0 - 0x80042400, // 0171 RET 1 R18 - 0x60480004, // 0172 GETGBL R18 G4 - 0x5C4C2000, // 0173 MOVE R19 R16 - 0x7C480200, // 0174 CALL R18 1 - 0x1C48253B, // 0175 EQ R18 R18 K59 - 0x784A0007, // 0176 JMPF R18 #017F - 0xB84A7800, // 0177 GETNGBL R18 K60 - 0x8C48253D, // 0178 GETMET R18 R18 K61 - 0x5C502000, // 0179 MOVE R20 R16 - 0x7C480400, // 017A CALL R18 2 - 0x8C48253E, // 017B GETMET R18 R18 K62 - 0x7C480200, // 017C CALL R18 1 - 0x5C402400, // 017D MOVE R16 R18 - 0x70020002, // 017E JMP #0182 - 0x8C48213E, // 017F GETMET R18 R16 K62 - 0x7C480200, // 0180 CALL R18 1 - 0x5C402400, // 0181 MOVE R16 R18 - 0x60480004, // 0182 GETGBL R18 G4 - 0x5C4C2200, // 0183 MOVE R19 R17 - 0x7C480200, // 0184 CALL R18 1 - 0x1C48253B, // 0185 EQ R18 R18 K59 - 0x784A0007, // 0186 JMPF R18 #018F - 0xB84A7800, // 0187 GETNGBL R18 K60 - 0x8C48253D, // 0188 GETMET R18 R18 K61 - 0x5C502200, // 0189 MOVE R20 R17 - 0x7C480400, // 018A CALL R18 2 - 0x8C48253E, // 018B GETMET R18 R18 K62 - 0x7C480200, // 018C CALL R18 1 - 0x5C442400, // 018D MOVE R17 R18 - 0x70020002, // 018E JMP #0192 - 0x8C48233E, // 018F GETMET R18 R17 K62 - 0x7C480200, // 0190 CALL R18 1 - 0x5C442400, // 0191 MOVE R17 R18 - 0x8C48033F, // 0192 GETMET R18 R1 K63 - 0x7C480200, // 0193 CALL R18 1 - 0x404E0F40, // 0194 CONNECT R19 K7 K64 - 0x94482413, // 0195 GETIDX R18 R18 R19 - 0x60500015, // 0196 GETGBL R20 G21 - 0x7C500000, // 0197 CALL R20 0 - 0x8C502941, // 0198 GETMET R20 R20 K65 - 0x58580042, // 0199 LDCONST R22 K66 - 0x7C500400, // 019A CALL R20 2 - 0x5C4C2800, // 019B MOVE R19 R20 - 0x8C500943, // 019C GETMET R20 R4 K67 - 0x7C500200, // 019D CALL R20 1 - 0x8C542144, // 019E GETMET R21 R16 K68 - 0x7C540200, // 019F CALL R21 1 - 0x8C542B45, // 01A0 GETMET R21 R21 K69 - 0x7C540200, // 01A1 CALL R21 1 - 0x8C582946, // 01A2 GETMET R22 R20 K70 - 0x5C602400, // 01A3 MOVE R24 R18 - 0x5C642A00, // 01A4 MOVE R25 R21 - 0x5C682600, // 01A5 MOVE R26 R19 - 0x546E0007, // 01A6 LDINT R27 8 - 0x7C580A00, // 01A7 CALL R22 5 - 0x885C0312, // 01A8 GETMBR R23 R1 K18 - 0x785E0001, // 01A9 JMPF R23 #01AC - 0x885C0312, // 01AA GETMBR R23 R1 K18 - 0x70020001, // 01AB JMP #01AE - 0x885C0116, // 01AC GETMBR R23 R0 K22 - 0x885C2F47, // 01AD GETMBR R23 R23 K71 - 0x8C601B48, // 01AE GETMET R24 R13 K72 - 0x5C682000, // 01AF MOVE R26 R16 - 0x5C6C2200, // 01B0 MOVE R27 R17 - 0x5C702C00, // 01B1 MOVE R28 R22 - 0x5C742E00, // 01B2 MOVE R29 R23 - 0x7C600A00, // 01B3 CALL R24 5 - 0x8C601B49, // 01B4 GETMET R24 R13 K73 - 0x7C600200, // 01B5 CALL R24 1 - 0x88600116, // 01B6 GETMBR R24 R0 K22 - 0x8C60314A, // 01B7 GETMET R24 R24 K74 - 0x5C681A00, // 01B8 MOVE R26 R13 - 0x7C600400, // 01B9 CALL R24 2 - 0x8C60034B, // 01BA GETMET R24 R1 K75 - 0x7C600200, // 01BB CALL R24 1 - 0x78620002, // 01BC JMPF R24 #01C0 - 0x8C60034C, // 01BD GETMET R24 R1 K76 - 0x546A003B, // 01BE LDINT R26 60 - 0x7C600400, // 01BF CALL R24 2 - 0x8C601B4D, // 01C0 GETMET R24 R13 K77 - 0x7C600200, // 01C1 CALL R24 1 - 0x8C600B09, // 01C2 GETMET R24 R5 K9 - 0x7C600200, // 01C3 CALL R24 1 - 0x8C64310A, // 01C4 GETMET R25 R24 K10 - 0x586C0005, // 01C5 LDCONST R27 K5 - 0x88700B0B, // 01C6 GETMBR R28 R5 K11 - 0xB8760200, // 01C7 GETNGBL R29 K1 - 0x88743B2B, // 01C8 GETMBR R29 R29 K43 - 0x7C640800, // 01C9 CALL R25 4 - 0x8C64310A, // 01CA GETMET R25 R24 K10 - 0x586C0007, // 01CB LDCONST R27 K7 - 0x88700B0B, // 01CC GETMBR R28 R5 K11 - 0x58740007, // 01CD LDCONST R29 K7 - 0x7C640800, // 01CE CALL R25 4 - 0x54660007, // 01CF LDINT R25 8 - 0x900E0819, // 01D0 SETMBR R3 K4 R25 - 0x80043000, // 01D1 RET 1 R24 - 0x70020056, // 01D2 JMP #022A - 0x54220008, // 01D3 LDINT R8 9 - 0x1C200E08, // 01D4 EQ R8 R7 R8 - 0x7822001E, // 01D5 JMPF R8 #01F5 - 0x8C200506, // 01D6 GETMET R8 R2 K6 - 0x58280005, // 01D7 LDCONST R10 K5 - 0x7C200400, // 01D8 CALL R8 2 - 0x8C24034E, // 01D9 GETMET R9 R1 K78 - 0x5C2C1000, // 01DA MOVE R11 R8 - 0x7C240400, // 01DB CALL R9 2 - 0xB8264400, // 01DC GETNGBL R9 K34 - 0x8C24132C, // 01DD GETMET R9 R9 K44 - 0x602C0018, // 01DE GETGBL R11 G24 - 0x5830004F, // 01DF LDCONST R12 K79 - 0x88340312, // 01E0 GETMBR R13 R1 K18 - 0x8C341B50, // 01E1 GETMET R13 R13 K80 - 0x7C340200, // 01E2 CALL R13 1 - 0x8C341B44, // 01E3 GETMET R13 R13 K68 - 0x7C340200, // 01E4 CALL R13 1 - 0x8C341B45, // 01E5 GETMET R13 R13 K69 - 0x7C340200, // 01E6 CALL R13 1 - 0x8C341B51, // 01E7 GETMET R13 R13 K81 - 0x7C340200, // 01E8 CALL R13 1 - 0x60380008, // 01E9 GETGBL R14 G8 - 0x5C3C1000, // 01EA MOVE R15 R8 - 0x7C380200, // 01EB CALL R14 1 - 0x7C2C0600, // 01EC CALL R11 3 - 0x58300010, // 01ED LDCONST R12 K16 - 0x7C240600, // 01EE CALL R9 3 - 0xB8260200, // 01EF GETNGBL R9 K1 - 0x8824132B, // 01F0 GETMBR R9 R9 K43 - 0x900E3409, // 01F1 SETMBR R3 K26 R9 - 0x4C240000, // 01F2 LDNIL R9 - 0x80041200, // 01F3 RET 1 R9 - 0x70020034, // 01F4 JMP #022A - 0x54220009, // 01F5 LDINT R8 10 - 0x1C200E08, // 01F6 EQ R8 R7 R8 - 0x78220031, // 01F7 JMPF R8 #022A - 0x8C200506, // 01F8 GETMET R8 R2 K6 - 0x58280005, // 01F9 LDCONST R10 K5 - 0x7C200400, // 01FA CALL R8 2 - 0x60240008, // 01FB GETGBL R9 G8 - 0x5C281000, // 01FC MOVE R10 R8 - 0x7C240200, // 01FD CALL R9 1 - 0x0026A409, // 01FE ADD R9 K82 R9 - 0x900E5809, // 01FF SETMBR R3 K44 R9 - 0x60240010, // 0200 GETGBL R9 G16 - 0x88280116, // 0201 GETMBR R10 R0 K22 - 0x88281530, // 0202 GETMBR R10 R10 K48 - 0x8C281553, // 0203 GETMET R10 R10 K83 - 0x7C280200, // 0204 CALL R10 1 - 0x7C240200, // 0205 CALL R9 1 - 0xA8020010, // 0206 EXBLK 0 #0218 - 0x5C281200, // 0207 MOVE R10 R9 - 0x7C280000, // 0208 CALL R10 0 - 0x8C2C1554, // 0209 GETMET R11 R10 K84 - 0x7C2C0200, // 020A CALL R11 1 - 0x1C2C1608, // 020B EQ R11 R11 R8 - 0x782E0008, // 020C JMPF R11 #0216 - 0xB82E4400, // 020D GETNGBL R11 K34 - 0x8C2C1755, // 020E GETMET R11 R11 K85 - 0x543607CF, // 020F LDINT R13 2000 - 0x84380000, // 0210 CLOSURE R14 P0 - 0x7C2C0600, // 0211 CALL R11 3 - 0x502C0200, // 0212 LDBOOL R11 1 0 - 0xA0000000, // 0213 CLOSE R0 - 0xA8040001, // 0214 EXBLK 1 1 - 0x80041600, // 0215 RET 1 R11 - 0xA0240000, // 0216 CLOSE R9 - 0x7001FFEE, // 0217 JMP #0207 - 0x58240056, // 0218 LDCONST R9 K86 - 0xAC240200, // 0219 CATCH R9 1 0 - 0xB0080000, // 021A RAISE 2 R0 R0 - 0xB8264400, // 021B GETNGBL R9 K34 - 0x8C24132C, // 021C GETMET R9 R9 K44 - 0x602C0008, // 021D GETGBL R11 G8 - 0x5C301000, // 021E MOVE R12 R8 - 0x7C2C0200, // 021F CALL R11 1 - 0x002EAE0B, // 0220 ADD R11 K87 R11 - 0x002C1758, // 0221 ADD R11 R11 K88 - 0x5830000E, // 0222 LDCONST R12 K14 - 0x7C240600, // 0223 CALL R9 3 - 0xB8260200, // 0224 GETNGBL R9 K1 - 0x88241359, // 0225 GETMBR R9 R9 K89 - 0x900E3409, // 0226 SETMBR R3 K26 R9 - 0x4C240000, // 0227 LDNIL R9 - 0xA0000000, // 0228 CLOSE R0 - 0x80041200, // 0229 RET 1 R9 - 0x7002009B, // 022A JMP #02C7 - 0x5422003B, // 022B LDINT R8 60 - 0x1C200C08, // 022C EQ R8 R6 R8 - 0x78220085, // 022D JMPF R8 #02B4 - 0x1C200F05, // 022E EQ R8 R7 K5 - 0x78220065, // 022F JMPF R8 #0296 - 0x8C200506, // 0230 GETMET R8 R2 K6 - 0x58280005, // 0231 LDCONST R10 K5 - 0x7C200400, // 0232 CALL R8 2 - 0x8C240506, // 0233 GETMET R9 R2 K6 - 0x582C0007, // 0234 LDCONST R11 K7 - 0x7C240400, // 0235 CALL R9 2 - 0x8C280506, // 0236 GETMET R10 R2 K6 - 0x5830000E, // 0237 LDCONST R12 K14 - 0x7C280400, // 0238 CALL R10 2 - 0x8C2C0506, // 0239 GETMET R11 R2 K6 - 0x58340010, // 023A LDCONST R13 K16 - 0x7C2C0400, // 023B CALL R11 2 - 0x8C300506, // 023C GETMET R12 R2 K6 - 0x543A0003, // 023D LDINT R14 4 - 0x7C300400, // 023E CALL R12 2 - 0xB8364400, // 023F GETNGBL R13 K34 - 0x8C341B2C, // 0240 GETMET R13 R13 K44 - 0x603C0018, // 0241 GETGBL R15 G24 - 0x5840005A, // 0242 LDCONST R16 K90 - 0x5C441000, // 0243 MOVE R17 R8 - 0x8C481351, // 0244 GETMET R18 R9 K81 - 0x7C480200, // 0245 CALL R18 1 - 0x5C4C1400, // 0246 MOVE R19 R10 - 0x5C501600, // 0247 MOVE R20 R11 - 0x8C541951, // 0248 GETMET R21 R12 K81 - 0x7C540200, // 0249 CALL R21 1 - 0x7C3C0C00, // 024A CALL R15 6 - 0x54420003, // 024B LDINT R16 4 - 0x7C340600, // 024C CALL R13 3 - 0x4C340000, // 024D LDNIL R13 - 0x1C34100D, // 024E EQ R13 R8 R13 - 0x7436000B, // 024F JMPT R13 #025C - 0x4C340000, // 0250 LDNIL R13 - 0x1C34120D, // 0251 EQ R13 R9 R13 - 0x74360008, // 0252 JMPT R13 #025C - 0x4C340000, // 0253 LDNIL R13 - 0x1C34140D, // 0254 EQ R13 R10 R13 - 0x74360005, // 0255 JMPT R13 #025C - 0x4C340000, // 0256 LDNIL R13 - 0x1C34160D, // 0257 EQ R13 R11 R13 - 0x74360002, // 0258 JMPT R13 #025C - 0x4C340000, // 0259 LDNIL R13 - 0x1C34180D, // 025A EQ R13 R12 R13 - 0x78360005, // 025B JMPF R13 #0262 - 0xB8360200, // 025C GETNGBL R13 K1 - 0x88341B5B, // 025D GETMBR R13 R13 K91 - 0x900E340D, // 025E SETMBR R3 K26 R13 - 0x4C340000, // 025F LDNIL R13 - 0xA0000000, // 0260 CLOSE R0 - 0x80041A00, // 0261 RET 1 R13 - 0x6034000C, // 0262 GETGBL R13 G12 - 0x5C381200, // 0263 MOVE R14 R9 - 0x7C340200, // 0264 CALL R13 1 - 0x543A001F, // 0265 LDINT R14 32 - 0x543E0040, // 0266 LDINT R15 65 - 0x00381C0F, // 0267 ADD R14 R14 R15 - 0x20341A0E, // 0268 NE R13 R13 R14 - 0x7436000B, // 0269 JMPT R13 #0276 - 0x6034000C, // 026A GETGBL R13 G12 - 0x5C381800, // 026B MOVE R14 R12 - 0x7C340200, // 026C CALL R13 1 - 0x543A000F, // 026D LDINT R14 16 - 0x14341A0E, // 026E LT R13 R13 R14 - 0x74360005, // 026F JMPT R13 #0276 - 0x6034000C, // 0270 GETGBL R13 G12 - 0x5C381800, // 0271 MOVE R14 R12 - 0x7C340200, // 0272 CALL R13 1 - 0x543A001F, // 0273 LDINT R14 32 - 0x24341A0E, // 0274 GT R13 R13 R14 - 0x7836000A, // 0275 JMPF R13 #0281 - 0xB8364400, // 0276 GETNGBL R13 K34 - 0x8C341B2C, // 0277 GETMET R13 R13 K44 - 0x583C005C, // 0278 LDCONST R15 K92 - 0x5840000E, // 0279 LDCONST R16 K14 - 0x7C340600, // 027A CALL R13 3 - 0xB8360200, // 027B GETNGBL R13 K1 - 0x88341B5D, // 027C GETMBR R13 R13 K93 - 0x900E340D, // 027D SETMBR R3 K26 R13 - 0x4C340000, // 027E LDNIL R13 - 0xA0000000, // 027F CLOSE R0 - 0x80041A00, // 0280 RET 1 R13 - 0x5436001E, // 0281 LDINT R13 31 - 0x40360A0D, // 0282 CONNECT R13 K5 R13 - 0x9434120D, // 0283 GETIDX R13 R9 R13 - 0x543A001F, // 0284 LDINT R14 32 - 0x40381D40, // 0285 CONNECT R14 R14 K64 - 0x9438120E, // 0286 GETIDX R14 R9 R14 - 0x883C0116, // 0287 GETMBR R15 R0 K22 - 0x8C3C1F5E, // 0288 GETMET R15 R15 K94 - 0x5C441000, // 0289 MOVE R17 R8 - 0x5C481600, // 028A MOVE R18 R11 - 0x5C4C1400, // 028B MOVE R19 R10 - 0x5C501800, // 028C MOVE R20 R12 - 0x5C541A00, // 028D MOVE R21 R13 - 0x5C581C00, // 028E MOVE R22 R14 - 0x8C5C035F, // 028F GETMET R23 R1 K95 - 0x7C5C0200, // 0290 CALL R23 1 - 0x7C3C1000, // 0291 CALL R15 8 - 0x503C0200, // 0292 LDBOOL R15 1 0 - 0xA0000000, // 0293 CLOSE R0 - 0x80041E00, // 0294 RET 1 R15 - 0x7002001C, // 0295 JMP #02B3 - 0x1C200F07, // 0296 EQ R8 R7 K7 - 0x78220012, // 0297 JMPF R8 #02AB - 0x8C200506, // 0298 GETMET R8 R2 K6 - 0x58280005, // 0299 LDCONST R10 K5 - 0x7C200400, // 029A CALL R8 2 - 0xB8264400, // 029B GETNGBL R9 K34 - 0x8C24132C, // 029C GETMET R9 R9 K44 - 0x602C0008, // 029D GETGBL R11 G8 - 0x5C301000, // 029E MOVE R12 R8 - 0x7C2C0200, // 029F CALL R11 1 - 0x002EC00B, // 02A0 ADD R11 K96 R11 - 0x58300010, // 02A1 LDCONST R12 K16 - 0x7C240600, // 02A2 CALL R9 3 - 0x88240116, // 02A3 GETMBR R9 R0 K22 - 0x8C241361, // 02A4 GETMET R9 R9 K97 - 0x5C2C1000, // 02A5 MOVE R11 R8 - 0x7C240400, // 02A6 CALL R9 2 - 0x50240200, // 02A7 LDBOOL R9 1 0 - 0xA0000000, // 02A8 CLOSE R0 - 0x80041200, // 02A9 RET 1 R9 - 0x70020007, // 02AA JMP #02B3 - 0x1C200F0E, // 02AB EQ R8 R7 K14 - 0x78220005, // 02AC JMPF R8 #02B3 - 0x88200116, // 02AD GETMBR R8 R0 K22 - 0x8C201162, // 02AE GETMET R8 R8 K98 - 0x7C200200, // 02AF CALL R8 1 - 0x50200200, // 02B0 LDBOOL R8 1 0 - 0xA0000000, // 02B1 CLOSE R0 - 0x80041000, // 02B2 RET 1 R8 - 0x70020012, // 02B3 JMP #02C7 - 0x54220029, // 02B4 LDINT R8 42 - 0x1C200C08, // 02B5 EQ R8 R6 R8 - 0x78220005, // 02B6 JMPF R8 #02BD - 0x1C200F05, // 02B7 EQ R8 R7 K5 - 0x78220002, // 02B8 JMPF R8 #02BC - 0x50200200, // 02B9 LDBOOL R8 1 0 - 0xA0000000, // 02BA CLOSE R0 - 0x80041000, // 02BB RET 1 R8 - 0x70020009, // 02BC JMP #02C7 - 0x60200003, // 02BD GETGBL R8 G3 - 0x5C240000, // 02BE MOVE R9 R0 - 0x7C200200, // 02BF CALL R8 1 - 0x8C201163, // 02C0 GETMET R8 R8 K99 - 0x5C280200, // 02C1 MOVE R10 R1 - 0x5C2C0400, // 02C2 MOVE R11 R2 - 0x5C300600, // 02C3 MOVE R12 R3 - 0x7C200800, // 02C4 CALL R8 4 - 0xA0000000, // 02C5 CLOSE R0 - 0x80041000, // 02C6 RET 1 R8 - 0xA0000000, // 02C7 CLOSE R0 - 0x80000000, // 02C8 RET 0 - }) - ) -); -/*******************************************************************/ - - /******************************************************************** ** Solidified function: read_attribute ********************************************************************/ @@ -2061,6 +1196,871 @@ be_local_closure(Matter_Plugin_Root_write_attribute, /* name */ /*******************************************************************/ +/******************************************************************** +** Solidified function: invoke_request +********************************************************************/ +be_local_closure(Matter_Plugin_Root_invoke_request, /* name */ + be_nested_proto( + 30, /* nstack */ + 4, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 1]) { + be_nested_proto( + 3, /* nstack */ + 0, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 2]) { /* upvals */ + be_local_const_upval(1, 0), + be_local_const_upval(1, 10), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 2]) { /* constants */ + /* K0 */ be_nested_str_weak(device), + /* K1 */ be_nested_str_weak(remove_fabric), + }), + be_str_weak(_anonymous_), + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0x68000000, // 0000 GETUPV R0 U0 + 0x88000100, // 0001 GETMBR R0 R0 K0 + 0x8C000101, // 0002 GETMET R0 R0 K1 + 0x68080001, // 0003 GETUPV R2 U1 + 0x7C000400, // 0004 CALL R0 2 + 0x80000000, // 0005 RET 0 + }) + ), + }), + 1, /* has constants */ + ( &(const bvalue[100]) { /* constants */ + /* K0 */ be_nested_str_weak(crypto), + /* 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_const_int(0), + /* K6 */ be_nested_str_weak(findsubval), + /* K7 */ be_const_int(1), + /* K8 */ be_nested_str_weak(_breadcrumb), + /* K9 */ be_nested_str_weak(Matter_TLV_struct), + /* K10 */ be_nested_str_weak(add_TLV), + /* K11 */ be_nested_str_weak(U1), + /* K12 */ be_nested_str_weak(UTF1), + /* K13 */ be_nested_str_weak(), + /* K14 */ be_const_int(2), + /* K15 */ be_nested_str_weak(XX), + /* K16 */ be_const_int(3), + /* K17 */ be_nested_str_weak(ack_request), + /* K18 */ be_nested_str_weak(_fabric), + /* K19 */ be_nested_str_weak(fabric_completed), + /* K20 */ be_nested_str_weak(set_no_expiration), + /* K21 */ be_nested_str_weak(save), + /* K22 */ be_nested_str_weak(device), + /* K23 */ be_nested_str_weak(start_commissioning_complete_deferred), + /* K24 */ be_nested_str_weak(context_error), + /* K25 */ be_nested_str_weak(CommissioningComplete_X3A_X20no_X20fabric_X20attached), + /* K26 */ be_nested_str_weak(status), + /* K27 */ be_nested_str_weak(UNSUPPORTED_COMMAND), + /* K28 */ be_nested_str_weak(B2), + /* K29 */ be_nested_str_weak(DAC_Cert_FFF1_8000), + /* K30 */ be_nested_str_weak(PAI_Cert_FFF1), + /* K31 */ be_nested_str_weak(CD_FFF1_8000), + /* K32 */ be_nested_str_weak(B1), + /* K33 */ be_nested_str_weak(U4), + /* K34 */ be_nested_str_weak(tasmota), + /* K35 */ be_nested_str_weak(rtc_utc), + /* K36 */ be_nested_str_weak(tlv2raw), + /* K37 */ be_nested_str_weak(get_ac), + /* K38 */ be_nested_str_weak(EC_P256), + /* K39 */ be_nested_str_weak(ecdsa_sign_sha256), + /* K40 */ be_nested_str_weak(DAC_Priv_FFF1_8000), + /* K41 */ be_nested_str_weak(gen_CSR), + /* K42 */ be_nested_str_weak(set_temp_ca), + /* K43 */ be_nested_str_weak(SUCCESS), + /* K44 */ be_nested_str_weak(log), + /* K45 */ be_nested_str_weak(MTR_X3A_X20AddNoc_X20Args_X3D), + /* K46 */ be_nested_str_weak(get_temp_ca), + /* K47 */ be_nested_str_weak(MTR_X3A_X20Error_X3A_X20AdNOC_X20without_X20CA), + /* K48 */ be_nested_str_weak(sessions), + /* K49 */ be_nested_str_weak(create_fabric), + /* K50 */ be_nested_str_weak(set_ca), + /* K51 */ be_nested_str_weak(set_noc_icac), + /* K52 */ be_nested_str_weak(set_ipk_epoch_key), + /* K53 */ be_nested_str_weak(set_admin_subject_vendor), + /* K54 */ be_nested_str_weak(set_pk), + /* K55 */ be_nested_str_weak(get_pk), + /* K56 */ be_nested_str_weak(parse), + /* K57 */ be_nested_str_weak(findsub), + /* K58 */ be_nested_str_weak(MTR_X3A_X20Error_X3A_X20no_X20fabricid_X20nor_X20deviceid_X20in_X20NOC_X20certificate), + /* K59 */ be_nested_str_weak(int), + /* K60 */ be_nested_str_weak(int64), + /* K61 */ be_nested_str_weak(fromu32), + /* K62 */ be_nested_str_weak(tobytes), + /* K63 */ be_nested_str_weak(get_temp_ca_pub), + /* K64 */ be_const_int(2147483647), + /* K65 */ be_nested_str_weak(fromstring), + /* K66 */ be_nested_str_weak(CompressedFabric), + /* K67 */ be_nested_str_weak(HKDF_SHA256), + /* K68 */ be_nested_str_weak(copy), + /* K69 */ be_nested_str_weak(reverse), + /* K70 */ be_nested_str_weak(derive), + /* K71 */ be_nested_str_weak(commissioning_admin_fabric), + /* K72 */ be_nested_str_weak(set_fabric_device), + /* K73 */ be_nested_str_weak(fabric_candidate), + /* K74 */ be_nested_str_weak(start_operational_discovery_deferred), + /* K75 */ be_nested_str_weak(is_PASE), + /* K76 */ be_nested_str_weak(set_expire_in_seconds), + /* K77 */ be_nested_str_weak(log_new_fabric), + /* K78 */ be_nested_str_weak(set_fabric_label), + /* K79 */ be_nested_str_weak(MTR_X3A_X20_X2E_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Update_X20fabric_X20_X27_X25s_X27_X20label_X3D_X27_X25s_X27), + /* K80 */ be_nested_str_weak(get_fabric_id), + /* K81 */ be_nested_str_weak(tohex), + /* K82 */ be_nested_str_weak(fabric_index_X3A), + /* K83 */ be_nested_str_weak(active_fabrics), + /* K84 */ be_nested_str_weak(get_fabric_index), + /* K85 */ be_nested_str_weak(set_timer), + /* K86 */ be_nested_str_weak(stop_iteration), + /* K87 */ be_nested_str_weak(MTR_X3A_X20RemoveFabric_X20fabric_X28), + /* K88 */ be_nested_str_weak(_X29_X20not_X20found), + /* K89 */ be_nested_str_weak(INVALID_ACTION), + /* K90 */ be_nested_str_weak(MTR_X3A_X20OpenCommissioningWindow_X28timeout_X3D_X25i_X2C_X20passcode_X3D_X25s_X2C_X20discriminator_X3D_X25i_X2C_X20iterations_X3D_X25i_X2C_X20salt_X3D_X25s_X29), + /* K91 */ be_nested_str_weak(INVALID_DATA_TYPE), + /* K92 */ be_nested_str_weak(MTR_X3A_X20wrong_X20size_X20for_X20PAKE_X20parameters), + /* K93 */ be_nested_str_weak(CONSTRAINT_ERROR), + /* K94 */ be_nested_str_weak(start_basic_commissioning), + /* K95 */ be_nested_str_weak(get_fabric), + /* K96 */ be_nested_str_weak(MTR_X3A_X20OpenBasicCommissioningWindow_X20commissioning_timeout_X3D), + /* K97 */ be_nested_str_weak(start_root_basic_commissioning), + /* K98 */ be_nested_str_weak(stop_basic_commissioning), + /* K99 */ be_nested_str_weak(invoke_request), + }), + be_str_weak(invoke_request), + &be_const_str_solidified, + ( &(const binstruction[713]) { /* 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 + 0x5422002F, // 0005 LDINT R8 48 + 0x1C200C08, // 0006 EQ R8 R6 R8 + 0x7822005C, // 0007 JMPF R8 #0065 + 0x1C200F05, // 0008 EQ R8 R7 K5 + 0x78220017, // 0009 JMPF R8 #0022 + 0x8C200506, // 000A GETMET R8 R2 K6 + 0x58280005, // 000B LDCONST R10 K5 + 0x542E0383, // 000C LDINT R11 900 + 0x7C200600, // 000D CALL R8 3 + 0x8C240506, // 000E GETMET R9 R2 K6 + 0x582C0007, // 000F LDCONST R11 K7 + 0x58300005, // 0010 LDCONST R12 K5 + 0x7C240600, // 0011 CALL R9 3 + 0x90061009, // 0012 SETMBR R1 K8 R9 + 0x8C280B09, // 0013 GETMET R10 R5 K9 + 0x7C280200, // 0014 CALL R10 1 + 0x8C2C150A, // 0015 GETMET R11 R10 K10 + 0x58340005, // 0016 LDCONST R13 K5 + 0x88380B0B, // 0017 GETMBR R14 R5 K11 + 0x583C0005, // 0018 LDCONST R15 K5 + 0x7C2C0800, // 0019 CALL R11 4 + 0x8C2C150A, // 001A GETMET R11 R10 K10 + 0x58340007, // 001B LDCONST R13 K7 + 0x88380B0C, // 001C GETMBR R14 R5 K12 + 0x583C000D, // 001D LDCONST R15 K13 + 0x7C2C0800, // 001E CALL R11 4 + 0x900E0907, // 001F SETMBR R3 K4 K7 + 0x80041400, // 0020 RET 1 R10 + 0x70020041, // 0021 JMP #0064 + 0x1C200F0E, // 0022 EQ R8 R7 K14 + 0x7822001A, // 0023 JMPF R8 #003F + 0x8C200506, // 0024 GETMET R8 R2 K6 + 0x58280005, // 0025 LDCONST R10 K5 + 0x7C200400, // 0026 CALL R8 2 + 0x8C240506, // 0027 GETMET R9 R2 K6 + 0x582C0007, // 0028 LDCONST R11 K7 + 0x5830000F, // 0029 LDCONST R12 K15 + 0x7C240600, // 002A CALL R9 3 + 0x8C280506, // 002B GETMET R10 R2 K6 + 0x5830000E, // 002C LDCONST R12 K14 + 0x58340005, // 002D LDCONST R13 K5 + 0x7C280600, // 002E CALL R10 3 + 0x9006100A, // 002F SETMBR R1 K8 R10 + 0x8C2C0B09, // 0030 GETMET R11 R5 K9 + 0x7C2C0200, // 0031 CALL R11 1 + 0x8C30170A, // 0032 GETMET R12 R11 K10 + 0x58380005, // 0033 LDCONST R14 K5 + 0x883C0B0B, // 0034 GETMBR R15 R5 K11 + 0x58400005, // 0035 LDCONST R16 K5 + 0x7C300800, // 0036 CALL R12 4 + 0x8C30170A, // 0037 GETMET R12 R11 K10 + 0x58380007, // 0038 LDCONST R14 K7 + 0x883C0B0C, // 0039 GETMBR R15 R5 K12 + 0x5840000D, // 003A LDCONST R16 K13 + 0x7C300800, // 003B CALL R12 4 + 0x900E0910, // 003C SETMBR R3 K4 K16 + 0x80041600, // 003D RET 1 R11 + 0x70020024, // 003E JMP #0064 + 0x54220003, // 003F LDINT R8 4 + 0x1C200E08, // 0040 EQ R8 R7 R8 + 0x78220021, // 0041 JMPF R8 #0064 + 0x8C200111, // 0042 GETMET R8 R0 K17 + 0x5C280600, // 0043 MOVE R10 R3 + 0x7C200400, // 0044 CALL R8 2 + 0x88200312, // 0045 GETMBR R8 R1 K18 + 0x7822001B, // 0046 JMPF R8 #0063 + 0x90061105, // 0047 SETMBR R1 K8 K5 + 0x88200312, // 0048 GETMBR R8 R1 K18 + 0x8C201113, // 0049 GETMET R8 R8 K19 + 0x7C200200, // 004A CALL R8 1 + 0x8C200314, // 004B GETMET R8 R1 K20 + 0x7C200200, // 004C CALL R8 1 + 0x8C200315, // 004D GETMET R8 R1 K21 + 0x7C200200, // 004E CALL R8 1 + 0x8C200B09, // 004F GETMET R8 R5 K9 + 0x7C200200, // 0050 CALL R8 1 + 0x8C24110A, // 0051 GETMET R9 R8 K10 + 0x582C0005, // 0052 LDCONST R11 K5 + 0x88300B0B, // 0053 GETMBR R12 R5 K11 + 0x58340005, // 0054 LDCONST R13 K5 + 0x7C240800, // 0055 CALL R9 4 + 0x8C24110A, // 0056 GETMET R9 R8 K10 + 0x582C0007, // 0057 LDCONST R11 K7 + 0x88300B0C, // 0058 GETMBR R12 R5 K12 + 0x5834000D, // 0059 LDCONST R13 K13 + 0x7C240800, // 005A CALL R9 4 + 0x54260004, // 005B LDINT R9 5 + 0x900E0809, // 005C SETMBR R3 K4 R9 + 0x88240116, // 005D GETMBR R9 R0 K22 + 0x8C241317, // 005E GETMET R9 R9 K23 + 0x5C2C0200, // 005F MOVE R11 R1 + 0x7C240400, // 0060 CALL R9 2 + 0x80041000, // 0061 RET 1 R8 + 0x70020000, // 0062 JMP #0064 + 0xB0063119, // 0063 RAISE 1 K24 K25 + 0x70020261, // 0064 JMP #02C7 + 0x5422003D, // 0065 LDINT R8 62 + 0x1C200C08, // 0066 EQ R8 R6 R8 + 0x782201C2, // 0067 JMPF R8 #022B + 0x1C200F0E, // 0068 EQ R8 R7 K14 + 0x7822001D, // 0069 JMPF R8 #0088 + 0x8C200506, // 006A GETMET R8 R2 K6 + 0x58280005, // 006B LDCONST R10 K5 + 0x7C200400, // 006C CALL R8 2 + 0x20241107, // 006D NE R9 R8 K7 + 0x78260006, // 006E JMPF R9 #0076 + 0x2024110E, // 006F NE R9 R8 K14 + 0x78260004, // 0070 JMPF R9 #0076 + 0xB8260200, // 0071 GETNGBL R9 K1 + 0x8824131B, // 0072 GETMBR R9 R9 K27 + 0x900E3409, // 0073 SETMBR R3 K26 R9 + 0x4C240000, // 0074 LDNIL R9 + 0x80041200, // 0075 RET 1 R9 + 0x8C240B09, // 0076 GETMET R9 R5 K9 + 0x7C240200, // 0077 CALL R9 1 + 0x8C28130A, // 0078 GETMET R10 R9 K10 + 0x58300005, // 0079 LDCONST R12 K5 + 0x88340B1C, // 007A GETMBR R13 R5 K28 + 0x1C381107, // 007B EQ R14 R8 K7 + 0x783A0003, // 007C JMPF R14 #0081 + 0xB83A0200, // 007D GETNGBL R14 K1 + 0x8C381D1D, // 007E GETMET R14 R14 K29 + 0x7C380200, // 007F CALL R14 1 + 0x70020002, // 0080 JMP #0084 + 0xB83A0200, // 0081 GETNGBL R14 K1 + 0x8C381D1E, // 0082 GETMET R14 R14 K30 + 0x7C380200, // 0083 CALL R14 1 + 0x7C280800, // 0084 CALL R10 4 + 0x900E0910, // 0085 SETMBR R3 K4 K16 + 0x80041200, // 0086 RET 1 R9 + 0x700201A1, // 0087 JMP #022A + 0x1C200F05, // 0088 EQ R8 R7 K5 + 0x7822003C, // 0089 JMPF R8 #00C7 + 0x8C200506, // 008A GETMET R8 R2 K6 + 0x58280005, // 008B LDCONST R10 K5 + 0x7C200400, // 008C CALL R8 2 + 0x6024000C, // 008D GETGBL R9 G12 + 0x5C281000, // 008E MOVE R10 R8 + 0x7C240200, // 008F CALL R9 1 + 0x542A001F, // 0090 LDINT R10 32 + 0x2024120A, // 0091 NE R9 R9 R10 + 0x78260001, // 0092 JMPF R9 #0095 + 0x4C240000, // 0093 LDNIL R9 + 0x80041200, // 0094 RET 1 R9 + 0x900E0907, // 0095 SETMBR R3 K4 K7 + 0x8C240B09, // 0096 GETMET R9 R5 K9 + 0x7C240200, // 0097 CALL R9 1 + 0x8C28130A, // 0098 GETMET R10 R9 K10 + 0x58300007, // 0099 LDCONST R12 K7 + 0x88340B1C, // 009A GETMBR R13 R5 K28 + 0xB83A0200, // 009B GETNGBL R14 K1 + 0x8C381D1F, // 009C GETMET R14 R14 K31 + 0x7C380200, // 009D CALL R14 1 + 0x7C280800, // 009E CALL R10 4 + 0x8C28130A, // 009F GETMET R10 R9 K10 + 0x5830000E, // 00A0 LDCONST R12 K14 + 0x88340B20, // 00A1 GETMBR R13 R5 K32 + 0x5C381000, // 00A2 MOVE R14 R8 + 0x7C280800, // 00A3 CALL R10 4 + 0x8C28130A, // 00A4 GETMET R10 R9 K10 + 0x58300010, // 00A5 LDCONST R12 K16 + 0x88340B21, // 00A6 GETMBR R13 R5 K33 + 0xB83A4400, // 00A7 GETNGBL R14 K34 + 0x8C381D23, // 00A8 GETMET R14 R14 K35 + 0x7C380200, // 00A9 CALL R14 1 + 0x7C280800, // 00AA CALL R10 4 + 0x8C281324, // 00AB GETMET R10 R9 K36 + 0x7C280200, // 00AC CALL R10 1 + 0x8C2C0325, // 00AD GETMET R11 R1 K37 + 0x7C2C0200, // 00AE CALL R11 1 + 0x0030140B, // 00AF ADD R12 R10 R11 + 0x8C340926, // 00B0 GETMET R13 R4 K38 + 0x7C340200, // 00B1 CALL R13 1 + 0x8C341B27, // 00B2 GETMET R13 R13 K39 + 0xB83E0200, // 00B3 GETNGBL R15 K1 + 0x8C3C1F28, // 00B4 GETMET R15 R15 K40 + 0x7C3C0200, // 00B5 CALL R15 1 + 0x5C401800, // 00B6 MOVE R16 R12 + 0x7C340600, // 00B7 CALL R13 3 + 0x8C380B09, // 00B8 GETMET R14 R5 K9 + 0x7C380200, // 00B9 CALL R14 1 + 0x8C3C1D0A, // 00BA GETMET R15 R14 K10 + 0x58440005, // 00BB LDCONST R17 K5 + 0x88480B1C, // 00BC GETMBR R18 R5 K28 + 0x5C4C1400, // 00BD MOVE R19 R10 + 0x7C3C0800, // 00BE CALL R15 4 + 0x8C3C1D0A, // 00BF GETMET R15 R14 K10 + 0x58440007, // 00C0 LDCONST R17 K7 + 0x88480B20, // 00C1 GETMBR R18 R5 K32 + 0x5C4C1A00, // 00C2 MOVE R19 R13 + 0x7C3C0800, // 00C3 CALL R15 4 + 0x900E0907, // 00C4 SETMBR R3 K4 K7 + 0x80041C00, // 00C5 RET 1 R14 + 0x70020162, // 00C6 JMP #022A + 0x54220003, // 00C7 LDINT R8 4 + 0x1C200E08, // 00C8 EQ R8 R7 R8 + 0x7822003C, // 00C9 JMPF R8 #0107 + 0x8C200111, // 00CA GETMET R8 R0 K17 + 0x5C280600, // 00CB MOVE R10 R3 + 0x7C200400, // 00CC CALL R8 2 + 0x8C200506, // 00CD GETMET R8 R2 K6 + 0x58280005, // 00CE LDCONST R10 K5 + 0x7C200400, // 00CF CALL R8 2 + 0x6024000C, // 00D0 GETGBL R9 G12 + 0x5C281000, // 00D1 MOVE R10 R8 + 0x7C240200, // 00D2 CALL R9 1 + 0x542A001F, // 00D3 LDINT R10 32 + 0x2024120A, // 00D4 NE R9 R9 R10 + 0x78260001, // 00D5 JMPF R9 #00D8 + 0x4C240000, // 00D6 LDNIL R9 + 0x80041200, // 00D7 RET 1 R9 + 0x8C240506, // 00D8 GETMET R9 R2 K6 + 0x582C0007, // 00D9 LDCONST R11 K7 + 0x50300000, // 00DA LDBOOL R12 0 0 + 0x7C240600, // 00DB CALL R9 3 + 0x8C280329, // 00DC GETMET R10 R1 K41 + 0x7C280200, // 00DD CALL R10 1 + 0x8C2C0B09, // 00DE GETMET R11 R5 K9 + 0x7C2C0200, // 00DF CALL R11 1 + 0x8C30170A, // 00E0 GETMET R12 R11 K10 + 0x58380007, // 00E1 LDCONST R14 K7 + 0x883C0B1C, // 00E2 GETMBR R15 R5 K28 + 0x5C401400, // 00E3 MOVE R16 R10 + 0x7C300800, // 00E4 CALL R12 4 + 0x8C30170A, // 00E5 GETMET R12 R11 K10 + 0x5838000E, // 00E6 LDCONST R14 K14 + 0x883C0B20, // 00E7 GETMBR R15 R5 K32 + 0x5C401000, // 00E8 MOVE R16 R8 + 0x7C300800, // 00E9 CALL R12 4 + 0x8C301724, // 00EA GETMET R12 R11 K36 + 0x7C300200, // 00EB CALL R12 1 + 0x8C340325, // 00EC GETMET R13 R1 K37 + 0x7C340200, // 00ED CALL R13 1 + 0x0034180D, // 00EE ADD R13 R12 R13 + 0x8C380926, // 00EF GETMET R14 R4 K38 + 0x7C380200, // 00F0 CALL R14 1 + 0x8C381D27, // 00F1 GETMET R14 R14 K39 + 0xB8420200, // 00F2 GETNGBL R16 K1 + 0x8C402128, // 00F3 GETMET R16 R16 K40 + 0x7C400200, // 00F4 CALL R16 1 + 0x5C441A00, // 00F5 MOVE R17 R13 + 0x7C380600, // 00F6 CALL R14 3 + 0x8C3C0B09, // 00F7 GETMET R15 R5 K9 + 0x7C3C0200, // 00F8 CALL R15 1 + 0x8C401F0A, // 00F9 GETMET R16 R15 K10 + 0x58480005, // 00FA LDCONST R18 K5 + 0x884C0B1C, // 00FB GETMBR R19 R5 K28 + 0x5C501800, // 00FC MOVE R20 R12 + 0x7C400800, // 00FD CALL R16 4 + 0x8C401F0A, // 00FE GETMET R16 R15 K10 + 0x58480007, // 00FF LDCONST R18 K7 + 0x884C0B20, // 0100 GETMBR R19 R5 K32 + 0x5C501C00, // 0101 MOVE R20 R14 + 0x7C400800, // 0102 CALL R16 4 + 0x54420004, // 0103 LDINT R16 5 + 0x900E0810, // 0104 SETMBR R3 K4 R16 + 0x80041E00, // 0105 RET 1 R15 + 0x70020122, // 0106 JMP #022A + 0x5422000A, // 0107 LDINT R8 11 + 0x1C200E08, // 0108 EQ R8 R7 R8 + 0x7822000B, // 0109 JMPF R8 #0116 + 0x8C200506, // 010A GETMET R8 R2 K6 + 0x58280005, // 010B LDCONST R10 K5 + 0x7C200400, // 010C CALL R8 2 + 0x8C24032A, // 010D GETMET R9 R1 K42 + 0x5C2C1000, // 010E MOVE R11 R8 + 0x7C240400, // 010F CALL R9 2 + 0xB8260200, // 0110 GETNGBL R9 K1 + 0x8824132B, // 0111 GETMBR R9 R9 K43 + 0x900E3409, // 0112 SETMBR R3 K26 R9 + 0x4C240000, // 0113 LDNIL R9 + 0x80041200, // 0114 RET 1 R9 + 0x70020113, // 0115 JMP #022A + 0x54220005, // 0116 LDINT R8 6 + 0x1C200E08, // 0117 EQ R8 R7 R8 + 0x782200B9, // 0118 JMPF R8 #01D3 + 0xB8224400, // 0119 GETNGBL R8 K34 + 0x8C20112C, // 011A GETMET R8 R8 K44 + 0x60280008, // 011B GETGBL R10 G8 + 0x5C2C0400, // 011C MOVE R11 R2 + 0x7C280200, // 011D CALL R10 1 + 0x002A5A0A, // 011E ADD R10 K45 R10 + 0x542E0003, // 011F LDINT R11 4 + 0x7C200600, // 0120 CALL R8 3 + 0x8C200506, // 0121 GETMET R8 R2 K6 + 0x58280005, // 0122 LDCONST R10 K5 + 0x7C200400, // 0123 CALL R8 2 + 0x8C240506, // 0124 GETMET R9 R2 K6 + 0x582C0007, // 0125 LDCONST R11 K7 + 0x7C240400, // 0126 CALL R9 2 + 0x6028000C, // 0127 GETGBL R10 G12 + 0x5C2C1200, // 0128 MOVE R11 R9 + 0x7C280200, // 0129 CALL R10 1 + 0x1C281505, // 012A EQ R10 R10 K5 + 0x782A0000, // 012B JMPF R10 #012D + 0x4C240000, // 012C LDNIL R9 + 0x8C280506, // 012D GETMET R10 R2 K6 + 0x5830000E, // 012E LDCONST R12 K14 + 0x7C280400, // 012F CALL R10 2 + 0x8C2C0506, // 0130 GETMET R11 R2 K6 + 0x58340010, // 0131 LDCONST R13 K16 + 0x7C2C0400, // 0132 CALL R11 2 + 0x8C300506, // 0133 GETMET R12 R2 K6 + 0x543A0003, // 0134 LDINT R14 4 + 0x7C300400, // 0135 CALL R12 2 + 0x8C34032E, // 0136 GETMET R13 R1 K46 + 0x7C340200, // 0137 CALL R13 1 + 0x4C380000, // 0138 LDNIL R14 + 0x1C341A0E, // 0139 EQ R13 R13 R14 + 0x78360006, // 013A JMPF R13 #0142 + 0xB8364400, // 013B GETNGBL R13 K34 + 0x8C341B2C, // 013C GETMET R13 R13 K44 + 0x583C002F, // 013D LDCONST R15 K47 + 0x5840000E, // 013E LDCONST R16 K14 + 0x7C340600, // 013F CALL R13 3 + 0x4C340000, // 0140 LDNIL R13 + 0x80041A00, // 0141 RET 1 R13 + 0x88340116, // 0142 GETMBR R13 R0 K22 + 0x88341B30, // 0143 GETMBR R13 R13 K48 + 0x8C341B31, // 0144 GETMET R13 R13 K49 + 0x7C340200, // 0145 CALL R13 1 + 0x8C381B32, // 0146 GETMET R14 R13 K50 + 0x8C40032E, // 0147 GETMET R16 R1 K46 + 0x7C400200, // 0148 CALL R16 1 + 0x7C380400, // 0149 CALL R14 2 + 0x8C381B33, // 014A GETMET R14 R13 K51 + 0x5C401000, // 014B MOVE R16 R8 + 0x5C441200, // 014C MOVE R17 R9 + 0x7C380600, // 014D CALL R14 3 + 0x8C381B34, // 014E GETMET R14 R13 K52 + 0x5C401400, // 014F MOVE R16 R10 + 0x7C380400, // 0150 CALL R14 2 + 0x8C381B35, // 0151 GETMET R14 R13 K53 + 0x5C401600, // 0152 MOVE R16 R11 + 0x5C441800, // 0153 MOVE R17 R12 + 0x7C380600, // 0154 CALL R14 3 + 0x8C381B36, // 0155 GETMET R14 R13 K54 + 0x8C400337, // 0156 GETMET R16 R1 K55 + 0x7C400200, // 0157 CALL R16 1 + 0x7C380400, // 0158 CALL R14 2 + 0xB83A0200, // 0159 GETNGBL R14 K1 + 0x88381D02, // 015A GETMBR R14 R14 K2 + 0x8C381D38, // 015B GETMET R14 R14 K56 + 0x5C401000, // 015C MOVE R16 R8 + 0x7C380400, // 015D CALL R14 2 + 0x8C3C1D39, // 015E GETMET R15 R14 K57 + 0x54460005, // 015F LDINT R17 6 + 0x7C3C0400, // 0160 CALL R15 2 + 0x8C401F06, // 0161 GETMET R16 R15 K6 + 0x544A0014, // 0162 LDINT R18 21 + 0x7C400400, // 0163 CALL R16 2 + 0x8C441F06, // 0164 GETMET R17 R15 K6 + 0x544E0010, // 0165 LDINT R19 17 + 0x7C440400, // 0166 CALL R17 2 + 0x5C482000, // 0167 MOVE R18 R16 + 0x784A0001, // 0168 JMPF R18 #016B + 0x5C482200, // 0169 MOVE R18 R17 + 0x744A0006, // 016A JMPT R18 #0172 + 0xB84A4400, // 016B GETNGBL R18 K34 + 0x8C48252C, // 016C GETMET R18 R18 K44 + 0x5850003A, // 016D LDCONST R20 K58 + 0x5854000E, // 016E LDCONST R21 K14 + 0x7C480600, // 016F CALL R18 3 + 0x50480000, // 0170 LDBOOL R18 0 0 + 0x80042400, // 0171 RET 1 R18 + 0x60480004, // 0172 GETGBL R18 G4 + 0x5C4C2000, // 0173 MOVE R19 R16 + 0x7C480200, // 0174 CALL R18 1 + 0x1C48253B, // 0175 EQ R18 R18 K59 + 0x784A0007, // 0176 JMPF R18 #017F + 0xB84A7800, // 0177 GETNGBL R18 K60 + 0x8C48253D, // 0178 GETMET R18 R18 K61 + 0x5C502000, // 0179 MOVE R20 R16 + 0x7C480400, // 017A CALL R18 2 + 0x8C48253E, // 017B GETMET R18 R18 K62 + 0x7C480200, // 017C CALL R18 1 + 0x5C402400, // 017D MOVE R16 R18 + 0x70020002, // 017E JMP #0182 + 0x8C48213E, // 017F GETMET R18 R16 K62 + 0x7C480200, // 0180 CALL R18 1 + 0x5C402400, // 0181 MOVE R16 R18 + 0x60480004, // 0182 GETGBL R18 G4 + 0x5C4C2200, // 0183 MOVE R19 R17 + 0x7C480200, // 0184 CALL R18 1 + 0x1C48253B, // 0185 EQ R18 R18 K59 + 0x784A0007, // 0186 JMPF R18 #018F + 0xB84A7800, // 0187 GETNGBL R18 K60 + 0x8C48253D, // 0188 GETMET R18 R18 K61 + 0x5C502200, // 0189 MOVE R20 R17 + 0x7C480400, // 018A CALL R18 2 + 0x8C48253E, // 018B GETMET R18 R18 K62 + 0x7C480200, // 018C CALL R18 1 + 0x5C442400, // 018D MOVE R17 R18 + 0x70020002, // 018E JMP #0192 + 0x8C48233E, // 018F GETMET R18 R17 K62 + 0x7C480200, // 0190 CALL R18 1 + 0x5C442400, // 0191 MOVE R17 R18 + 0x8C48033F, // 0192 GETMET R18 R1 K63 + 0x7C480200, // 0193 CALL R18 1 + 0x404E0F40, // 0194 CONNECT R19 K7 K64 + 0x94482413, // 0195 GETIDX R18 R18 R19 + 0x60500015, // 0196 GETGBL R20 G21 + 0x7C500000, // 0197 CALL R20 0 + 0x8C502941, // 0198 GETMET R20 R20 K65 + 0x58580042, // 0199 LDCONST R22 K66 + 0x7C500400, // 019A CALL R20 2 + 0x5C4C2800, // 019B MOVE R19 R20 + 0x8C500943, // 019C GETMET R20 R4 K67 + 0x7C500200, // 019D CALL R20 1 + 0x8C542144, // 019E GETMET R21 R16 K68 + 0x7C540200, // 019F CALL R21 1 + 0x8C542B45, // 01A0 GETMET R21 R21 K69 + 0x7C540200, // 01A1 CALL R21 1 + 0x8C582946, // 01A2 GETMET R22 R20 K70 + 0x5C602400, // 01A3 MOVE R24 R18 + 0x5C642A00, // 01A4 MOVE R25 R21 + 0x5C682600, // 01A5 MOVE R26 R19 + 0x546E0007, // 01A6 LDINT R27 8 + 0x7C580A00, // 01A7 CALL R22 5 + 0x885C0312, // 01A8 GETMBR R23 R1 K18 + 0x785E0001, // 01A9 JMPF R23 #01AC + 0x885C0312, // 01AA GETMBR R23 R1 K18 + 0x70020001, // 01AB JMP #01AE + 0x885C0116, // 01AC GETMBR R23 R0 K22 + 0x885C2F47, // 01AD GETMBR R23 R23 K71 + 0x8C601B48, // 01AE GETMET R24 R13 K72 + 0x5C682000, // 01AF MOVE R26 R16 + 0x5C6C2200, // 01B0 MOVE R27 R17 + 0x5C702C00, // 01B1 MOVE R28 R22 + 0x5C742E00, // 01B2 MOVE R29 R23 + 0x7C600A00, // 01B3 CALL R24 5 + 0x8C601B49, // 01B4 GETMET R24 R13 K73 + 0x7C600200, // 01B5 CALL R24 1 + 0x88600116, // 01B6 GETMBR R24 R0 K22 + 0x8C60314A, // 01B7 GETMET R24 R24 K74 + 0x5C681A00, // 01B8 MOVE R26 R13 + 0x7C600400, // 01B9 CALL R24 2 + 0x8C60034B, // 01BA GETMET R24 R1 K75 + 0x7C600200, // 01BB CALL R24 1 + 0x78620002, // 01BC JMPF R24 #01C0 + 0x8C60034C, // 01BD GETMET R24 R1 K76 + 0x546A003B, // 01BE LDINT R26 60 + 0x7C600400, // 01BF CALL R24 2 + 0x8C601B4D, // 01C0 GETMET R24 R13 K77 + 0x7C600200, // 01C1 CALL R24 1 + 0x8C600B09, // 01C2 GETMET R24 R5 K9 + 0x7C600200, // 01C3 CALL R24 1 + 0x8C64310A, // 01C4 GETMET R25 R24 K10 + 0x586C0005, // 01C5 LDCONST R27 K5 + 0x88700B0B, // 01C6 GETMBR R28 R5 K11 + 0xB8760200, // 01C7 GETNGBL R29 K1 + 0x88743B2B, // 01C8 GETMBR R29 R29 K43 + 0x7C640800, // 01C9 CALL R25 4 + 0x8C64310A, // 01CA GETMET R25 R24 K10 + 0x586C0007, // 01CB LDCONST R27 K7 + 0x88700B0B, // 01CC GETMBR R28 R5 K11 + 0x58740007, // 01CD LDCONST R29 K7 + 0x7C640800, // 01CE CALL R25 4 + 0x54660007, // 01CF LDINT R25 8 + 0x900E0819, // 01D0 SETMBR R3 K4 R25 + 0x80043000, // 01D1 RET 1 R24 + 0x70020056, // 01D2 JMP #022A + 0x54220008, // 01D3 LDINT R8 9 + 0x1C200E08, // 01D4 EQ R8 R7 R8 + 0x7822001E, // 01D5 JMPF R8 #01F5 + 0x8C200506, // 01D6 GETMET R8 R2 K6 + 0x58280005, // 01D7 LDCONST R10 K5 + 0x7C200400, // 01D8 CALL R8 2 + 0x8C24034E, // 01D9 GETMET R9 R1 K78 + 0x5C2C1000, // 01DA MOVE R11 R8 + 0x7C240400, // 01DB CALL R9 2 + 0xB8264400, // 01DC GETNGBL R9 K34 + 0x8C24132C, // 01DD GETMET R9 R9 K44 + 0x602C0018, // 01DE GETGBL R11 G24 + 0x5830004F, // 01DF LDCONST R12 K79 + 0x88340312, // 01E0 GETMBR R13 R1 K18 + 0x8C341B50, // 01E1 GETMET R13 R13 K80 + 0x7C340200, // 01E2 CALL R13 1 + 0x8C341B44, // 01E3 GETMET R13 R13 K68 + 0x7C340200, // 01E4 CALL R13 1 + 0x8C341B45, // 01E5 GETMET R13 R13 K69 + 0x7C340200, // 01E6 CALL R13 1 + 0x8C341B51, // 01E7 GETMET R13 R13 K81 + 0x7C340200, // 01E8 CALL R13 1 + 0x60380008, // 01E9 GETGBL R14 G8 + 0x5C3C1000, // 01EA MOVE R15 R8 + 0x7C380200, // 01EB CALL R14 1 + 0x7C2C0600, // 01EC CALL R11 3 + 0x58300010, // 01ED LDCONST R12 K16 + 0x7C240600, // 01EE CALL R9 3 + 0xB8260200, // 01EF GETNGBL R9 K1 + 0x8824132B, // 01F0 GETMBR R9 R9 K43 + 0x900E3409, // 01F1 SETMBR R3 K26 R9 + 0x4C240000, // 01F2 LDNIL R9 + 0x80041200, // 01F3 RET 1 R9 + 0x70020034, // 01F4 JMP #022A + 0x54220009, // 01F5 LDINT R8 10 + 0x1C200E08, // 01F6 EQ R8 R7 R8 + 0x78220031, // 01F7 JMPF R8 #022A + 0x8C200506, // 01F8 GETMET R8 R2 K6 + 0x58280005, // 01F9 LDCONST R10 K5 + 0x7C200400, // 01FA CALL R8 2 + 0x60240008, // 01FB GETGBL R9 G8 + 0x5C281000, // 01FC MOVE R10 R8 + 0x7C240200, // 01FD CALL R9 1 + 0x0026A409, // 01FE ADD R9 K82 R9 + 0x900E5809, // 01FF SETMBR R3 K44 R9 + 0x60240010, // 0200 GETGBL R9 G16 + 0x88280116, // 0201 GETMBR R10 R0 K22 + 0x88281530, // 0202 GETMBR R10 R10 K48 + 0x8C281553, // 0203 GETMET R10 R10 K83 + 0x7C280200, // 0204 CALL R10 1 + 0x7C240200, // 0205 CALL R9 1 + 0xA8020010, // 0206 EXBLK 0 #0218 + 0x5C281200, // 0207 MOVE R10 R9 + 0x7C280000, // 0208 CALL R10 0 + 0x8C2C1554, // 0209 GETMET R11 R10 K84 + 0x7C2C0200, // 020A CALL R11 1 + 0x1C2C1608, // 020B EQ R11 R11 R8 + 0x782E0008, // 020C JMPF R11 #0216 + 0xB82E4400, // 020D GETNGBL R11 K34 + 0x8C2C1755, // 020E GETMET R11 R11 K85 + 0x543607CF, // 020F LDINT R13 2000 + 0x84380000, // 0210 CLOSURE R14 P0 + 0x7C2C0600, // 0211 CALL R11 3 + 0x502C0200, // 0212 LDBOOL R11 1 0 + 0xA0000000, // 0213 CLOSE R0 + 0xA8040001, // 0214 EXBLK 1 1 + 0x80041600, // 0215 RET 1 R11 + 0xA0240000, // 0216 CLOSE R9 + 0x7001FFEE, // 0217 JMP #0207 + 0x58240056, // 0218 LDCONST R9 K86 + 0xAC240200, // 0219 CATCH R9 1 0 + 0xB0080000, // 021A RAISE 2 R0 R0 + 0xB8264400, // 021B GETNGBL R9 K34 + 0x8C24132C, // 021C GETMET R9 R9 K44 + 0x602C0008, // 021D GETGBL R11 G8 + 0x5C301000, // 021E MOVE R12 R8 + 0x7C2C0200, // 021F CALL R11 1 + 0x002EAE0B, // 0220 ADD R11 K87 R11 + 0x002C1758, // 0221 ADD R11 R11 K88 + 0x5830000E, // 0222 LDCONST R12 K14 + 0x7C240600, // 0223 CALL R9 3 + 0xB8260200, // 0224 GETNGBL R9 K1 + 0x88241359, // 0225 GETMBR R9 R9 K89 + 0x900E3409, // 0226 SETMBR R3 K26 R9 + 0x4C240000, // 0227 LDNIL R9 + 0xA0000000, // 0228 CLOSE R0 + 0x80041200, // 0229 RET 1 R9 + 0x7002009B, // 022A JMP #02C7 + 0x5422003B, // 022B LDINT R8 60 + 0x1C200C08, // 022C EQ R8 R6 R8 + 0x78220085, // 022D JMPF R8 #02B4 + 0x1C200F05, // 022E EQ R8 R7 K5 + 0x78220065, // 022F JMPF R8 #0296 + 0x8C200506, // 0230 GETMET R8 R2 K6 + 0x58280005, // 0231 LDCONST R10 K5 + 0x7C200400, // 0232 CALL R8 2 + 0x8C240506, // 0233 GETMET R9 R2 K6 + 0x582C0007, // 0234 LDCONST R11 K7 + 0x7C240400, // 0235 CALL R9 2 + 0x8C280506, // 0236 GETMET R10 R2 K6 + 0x5830000E, // 0237 LDCONST R12 K14 + 0x7C280400, // 0238 CALL R10 2 + 0x8C2C0506, // 0239 GETMET R11 R2 K6 + 0x58340010, // 023A LDCONST R13 K16 + 0x7C2C0400, // 023B CALL R11 2 + 0x8C300506, // 023C GETMET R12 R2 K6 + 0x543A0003, // 023D LDINT R14 4 + 0x7C300400, // 023E CALL R12 2 + 0xB8364400, // 023F GETNGBL R13 K34 + 0x8C341B2C, // 0240 GETMET R13 R13 K44 + 0x603C0018, // 0241 GETGBL R15 G24 + 0x5840005A, // 0242 LDCONST R16 K90 + 0x5C441000, // 0243 MOVE R17 R8 + 0x8C481351, // 0244 GETMET R18 R9 K81 + 0x7C480200, // 0245 CALL R18 1 + 0x5C4C1400, // 0246 MOVE R19 R10 + 0x5C501600, // 0247 MOVE R20 R11 + 0x8C541951, // 0248 GETMET R21 R12 K81 + 0x7C540200, // 0249 CALL R21 1 + 0x7C3C0C00, // 024A CALL R15 6 + 0x54420003, // 024B LDINT R16 4 + 0x7C340600, // 024C CALL R13 3 + 0x4C340000, // 024D LDNIL R13 + 0x1C34100D, // 024E EQ R13 R8 R13 + 0x7436000B, // 024F JMPT R13 #025C + 0x4C340000, // 0250 LDNIL R13 + 0x1C34120D, // 0251 EQ R13 R9 R13 + 0x74360008, // 0252 JMPT R13 #025C + 0x4C340000, // 0253 LDNIL R13 + 0x1C34140D, // 0254 EQ R13 R10 R13 + 0x74360005, // 0255 JMPT R13 #025C + 0x4C340000, // 0256 LDNIL R13 + 0x1C34160D, // 0257 EQ R13 R11 R13 + 0x74360002, // 0258 JMPT R13 #025C + 0x4C340000, // 0259 LDNIL R13 + 0x1C34180D, // 025A EQ R13 R12 R13 + 0x78360005, // 025B JMPF R13 #0262 + 0xB8360200, // 025C GETNGBL R13 K1 + 0x88341B5B, // 025D GETMBR R13 R13 K91 + 0x900E340D, // 025E SETMBR R3 K26 R13 + 0x4C340000, // 025F LDNIL R13 + 0xA0000000, // 0260 CLOSE R0 + 0x80041A00, // 0261 RET 1 R13 + 0x6034000C, // 0262 GETGBL R13 G12 + 0x5C381200, // 0263 MOVE R14 R9 + 0x7C340200, // 0264 CALL R13 1 + 0x543A001F, // 0265 LDINT R14 32 + 0x543E0040, // 0266 LDINT R15 65 + 0x00381C0F, // 0267 ADD R14 R14 R15 + 0x20341A0E, // 0268 NE R13 R13 R14 + 0x7436000B, // 0269 JMPT R13 #0276 + 0x6034000C, // 026A GETGBL R13 G12 + 0x5C381800, // 026B MOVE R14 R12 + 0x7C340200, // 026C CALL R13 1 + 0x543A000F, // 026D LDINT R14 16 + 0x14341A0E, // 026E LT R13 R13 R14 + 0x74360005, // 026F JMPT R13 #0276 + 0x6034000C, // 0270 GETGBL R13 G12 + 0x5C381800, // 0271 MOVE R14 R12 + 0x7C340200, // 0272 CALL R13 1 + 0x543A001F, // 0273 LDINT R14 32 + 0x24341A0E, // 0274 GT R13 R13 R14 + 0x7836000A, // 0275 JMPF R13 #0281 + 0xB8364400, // 0276 GETNGBL R13 K34 + 0x8C341B2C, // 0277 GETMET R13 R13 K44 + 0x583C005C, // 0278 LDCONST R15 K92 + 0x5840000E, // 0279 LDCONST R16 K14 + 0x7C340600, // 027A CALL R13 3 + 0xB8360200, // 027B GETNGBL R13 K1 + 0x88341B5D, // 027C GETMBR R13 R13 K93 + 0x900E340D, // 027D SETMBR R3 K26 R13 + 0x4C340000, // 027E LDNIL R13 + 0xA0000000, // 027F CLOSE R0 + 0x80041A00, // 0280 RET 1 R13 + 0x5436001E, // 0281 LDINT R13 31 + 0x40360A0D, // 0282 CONNECT R13 K5 R13 + 0x9434120D, // 0283 GETIDX R13 R9 R13 + 0x543A001F, // 0284 LDINT R14 32 + 0x40381D40, // 0285 CONNECT R14 R14 K64 + 0x9438120E, // 0286 GETIDX R14 R9 R14 + 0x883C0116, // 0287 GETMBR R15 R0 K22 + 0x8C3C1F5E, // 0288 GETMET R15 R15 K94 + 0x5C441000, // 0289 MOVE R17 R8 + 0x5C481600, // 028A MOVE R18 R11 + 0x5C4C1400, // 028B MOVE R19 R10 + 0x5C501800, // 028C MOVE R20 R12 + 0x5C541A00, // 028D MOVE R21 R13 + 0x5C581C00, // 028E MOVE R22 R14 + 0x8C5C035F, // 028F GETMET R23 R1 K95 + 0x7C5C0200, // 0290 CALL R23 1 + 0x7C3C1000, // 0291 CALL R15 8 + 0x503C0200, // 0292 LDBOOL R15 1 0 + 0xA0000000, // 0293 CLOSE R0 + 0x80041E00, // 0294 RET 1 R15 + 0x7002001C, // 0295 JMP #02B3 + 0x1C200F07, // 0296 EQ R8 R7 K7 + 0x78220012, // 0297 JMPF R8 #02AB + 0x8C200506, // 0298 GETMET R8 R2 K6 + 0x58280005, // 0299 LDCONST R10 K5 + 0x7C200400, // 029A CALL R8 2 + 0xB8264400, // 029B GETNGBL R9 K34 + 0x8C24132C, // 029C GETMET R9 R9 K44 + 0x602C0008, // 029D GETGBL R11 G8 + 0x5C301000, // 029E MOVE R12 R8 + 0x7C2C0200, // 029F CALL R11 1 + 0x002EC00B, // 02A0 ADD R11 K96 R11 + 0x58300010, // 02A1 LDCONST R12 K16 + 0x7C240600, // 02A2 CALL R9 3 + 0x88240116, // 02A3 GETMBR R9 R0 K22 + 0x8C241361, // 02A4 GETMET R9 R9 K97 + 0x5C2C1000, // 02A5 MOVE R11 R8 + 0x7C240400, // 02A6 CALL R9 2 + 0x50240200, // 02A7 LDBOOL R9 1 0 + 0xA0000000, // 02A8 CLOSE R0 + 0x80041200, // 02A9 RET 1 R9 + 0x70020007, // 02AA JMP #02B3 + 0x1C200F0E, // 02AB EQ R8 R7 K14 + 0x78220005, // 02AC JMPF R8 #02B3 + 0x88200116, // 02AD GETMBR R8 R0 K22 + 0x8C201162, // 02AE GETMET R8 R8 K98 + 0x7C200200, // 02AF CALL R8 1 + 0x50200200, // 02B0 LDBOOL R8 1 0 + 0xA0000000, // 02B1 CLOSE R0 + 0x80041000, // 02B2 RET 1 R8 + 0x70020012, // 02B3 JMP #02C7 + 0x54220029, // 02B4 LDINT R8 42 + 0x1C200C08, // 02B5 EQ R8 R6 R8 + 0x78220005, // 02B6 JMPF R8 #02BD + 0x1C200F05, // 02B7 EQ R8 R7 K5 + 0x78220002, // 02B8 JMPF R8 #02BC + 0x50200200, // 02B9 LDBOOL R8 1 0 + 0xA0000000, // 02BA CLOSE R0 + 0x80041000, // 02BB RET 1 R8 + 0x70020009, // 02BC JMP #02C7 + 0x60200003, // 02BD GETGBL R8 G3 + 0x5C240000, // 02BE MOVE R9 R0 + 0x7C200200, // 02BF CALL R8 1 + 0x8C201163, // 02C0 GETMET R8 R8 K99 + 0x5C280200, // 02C1 MOVE R10 R1 + 0x5C2C0400, // 02C2 MOVE R11 R2 + 0x5C300600, // 02C3 MOVE R12 R3 + 0x7C200800, // 02C4 CALL R8 4 + 0xA0000000, // 02C5 CLOSE R0 + 0x80041000, // 02C6 RET 1 R8 + 0xA0000000, // 02C7 CLOSE R0 + 0x80000000, // 02C8 RET 0 + }) + ) +); +/*******************************************************************/ + + /******************************************************************** ** Solidified class: Matter_Plugin_Root ********************************************************************/ @@ -2070,9 +2070,17 @@ be_local_class(Matter_Plugin_Root, &be_class_Matter_Plugin, be_nested_map(7, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(invoke_request, 2), be_const_closure(Matter_Plugin_Root_invoke_request_closure) }, - { be_const_key_weak(NAME, -1), be_nested_str_weak(Root_X20node) }, - { be_const_key_weak(CLUSTERS, 6), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + { be_const_key_weak(read_attribute, 1), be_const_closure(Matter_Plugin_Root_read_attribute_closure) }, + { be_const_key_weak(invoke_request, 6), be_const_closure(Matter_Plugin_Root_invoke_request_closure) }, + { be_const_key_weak(TYPE, -1), be_nested_str_weak(root) }, + { 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(22, -1), be_const_int(1) }, + })) ) } )) }, + { be_const_key_weak(write_attribute, -1), be_const_closure(Matter_Plugin_Root_write_attribute_closure) }, + { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Root_X20node) }, + { be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { be_const_map( * be_nested_map(15, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_int(60, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { @@ -2191,14 +2199,6 @@ be_local_class(Matter_Plugin_Root, be_const_int(2), })) ) } )) }, })) ) } )) }, - { be_const_key_weak(TYPES, 5), 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(22, -1), be_const_int(1) }, - })) ) } )) }, - { be_const_key_weak(write_attribute, -1), be_const_closure(Matter_Plugin_Root_write_attribute_closure) }, - { be_const_key_weak(TYPE, -1), be_nested_str_weak(root) }, - { be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_Root_read_attribute_closure) }, })), be_str_weak(Matter_Plugin_Root) ); diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Aggregator.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Aggregator.h index 0e9182b48..af4ea7333 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Aggregator.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Aggregator.h @@ -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) ); diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Bridge_HTTP.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Bridge_HTTP.h index 2bf65eccc..418f03eae 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Bridge_HTTP.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Bridge_HTTP.h @@ -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) ); diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Light0.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Light0.h index 45b4ba56d..bd25d7a01 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Light0.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Light0.h @@ -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) }, })), diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_OnOff.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_OnOff.h index 35caea4dd..b003d1004 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_OnOff.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_OnOff.h @@ -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: +********************************************************************/ +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: -********************************************************************/ -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) }, diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Sensor.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Sensor.h index 05ae7eb13..adb3bf9c8 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Sensor.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Sensor.h @@ -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) ); diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Shutter.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Shutter.h index 7929e6498..30f6d8348 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Shutter.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Shutter.h @@ -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) diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Bridge_Light0.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Bridge_Light0.h index 05f17ca0c..c0eb08bcd 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Bridge_Light0.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Bridge_Light0.h @@ -6,33 +6,6 @@ extern const bclass be_class_Matter_Plugin_Bridge_Light0; -/******************************************************************** -** Solidified function: -********************************************************************/ -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: +********************************************************************/ +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) ); diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Bridge_Sensor.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Bridge_Sensor.h index 03f3246fd..4079b20bd 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Bridge_Sensor.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Bridge_Sensor.h @@ -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 }) ) ); diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Light1.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Light1.h index 9a906a894..2d227550a 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Light1.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Light1.h @@ -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[]) { diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Contact.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Contact.h index 326036f23..79f11b865 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Contact.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Contact.h @@ -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) ); diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Humidity.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Humidity.h index 67dc45b95..f4e9ebc3a 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Humidity.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Humidity.h @@ -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) ); diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Illuminance.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Illuminance.h index 86e427d1b..17b96ce22 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Illuminance.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Illuminance.h @@ -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) ); diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Occupancy.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Occupancy.h index 3c387918b..fd236778f 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Occupancy.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Occupancy.h @@ -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) ); diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_OnOff.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_OnOff.h index ca54ac19d..4bb8243a0 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_OnOff.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_OnOff.h @@ -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, diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Pressure.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Pressure.h index ddf6e0cc8..bcd8a036f 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Pressure.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Pressure.h @@ -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) ); diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Temp.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Temp.h index 72a23f14d..a28ac1196 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Temp.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Temp.h @@ -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) ); diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_ShutterTilt.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_ShutterTilt.h index c2392034a..c661121a9 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_ShutterTilt.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_ShutterTilt.h @@ -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) ); diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Light1.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Light1.h index 7778df445..8cdf671bf 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Light1.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Light1.h @@ -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) }, })), diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_OnOff.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_OnOff.h index 54072b170..0e7f4e707 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_OnOff.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_OnOff.h @@ -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) ); diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Contact.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Contact.h index 7778b046a..ded960e54 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Contact.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Contact.h @@ -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) diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Humidity.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Humidity.h index 5451fb444..6a2032b50 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Humidity.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Humidity.h @@ -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) diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Illuminance.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Illuminance.h index e28b78078..739e203bf 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Illuminance.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Illuminance.h @@ -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) diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Occupancy.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Occupancy.h index c58192e06..b19d193b9 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Occupancy.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Occupancy.h @@ -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) diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Pressure.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Pressure.h index 4dec8ac9b..63f96dae4 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Pressure.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Pressure.h @@ -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) diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Temp.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Temp.h index 6e3000d22..44b133271 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Temp.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Temp.h @@ -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) diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Light2.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Light2.h index e1760a33b..a52eb7229 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Light2.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Light2.h @@ -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) }, })), diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Light3.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Light3.h index 6646451fa..538d02b80 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Light3.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Light3.h @@ -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[]) { diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_5_Bridge_Light2.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_5_Bridge_Light2.h index 4303e5509..712aa9f6d 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_5_Bridge_Light2.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_5_Bridge_Light2.h @@ -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) }, })), diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_5_Bridge_Light3.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_5_Bridge_Light3.h index eee54ab81..18cd5c467 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_5_Bridge_Light3.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_5_Bridge_Light3.h @@ -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) ); diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Light0.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Light0.h index 7a03a691d..2d946c844 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Light0.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Light0.h @@ -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) ); diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Light1.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Light1.h index 5999b70ab..123fc3e51 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Light1.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Light1.h @@ -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) ); diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Light2.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Light2.h index d3bf6ab2b..c81c9044d 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Light2.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Light2.h @@ -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) ); diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Light3.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Light3.h index 848d16601..d90363be7 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Light3.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Light3.h @@ -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) ); diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_OnOff.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_OnOff.h index 3e2fae970..ef9f3ac5b 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_OnOff.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_OnOff.h @@ -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) ); diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Contact.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Contact.h new file mode 100644 index 000000000..a9a6b8aaf --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Contact.h @@ -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 */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Humidity.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Humidity.h new file mode 100644 index 000000000..21b40f75f --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Humidity.h @@ -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 */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Illuminance.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Illuminance.h new file mode 100644 index 000000000..792d4324f --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Illuminance.h @@ -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 */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Pressure.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Pressure.h new file mode 100644 index 000000000..db256979e --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Pressure.h @@ -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 */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Temp.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Temp.h new file mode 100644 index 000000000..3e678420d --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Temp.h @@ -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 */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_UI.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_UI.h index e198d23ff..ea7755189 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_UI.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_UI.h @@ -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) },