fix: Simulateur MQTT 3/4 + OpenRemote master + Mapsettings
- MQTT OK: 3/4 (EMQX, Mosquitto, BunkerM) - OpenRemote: utilise realm master (token fonctionnel) - Realm smartcity recréé dans Keycloak - Assets IOTSensor créés dans master (30) et smartcity (30) - Mapsettings: layers iot-sensors + labels pour master et smartcity - INTERVAL=5s, réseau openremote_default ajouté - Dockerfile: --no-cache rebuild
This commit is contained in:
78
create_openremote_agents.sql
Normal file
78
create_openremote_agents.sql
Normal file
@@ -0,0 +1,78 @@
|
||||
-- Create 60 MQTT agents for OpenRemote using PL/pgSQL block
|
||||
-- Realm master: parent_id = '2LtWTTd29uPZLbuWMWUxBf'
|
||||
-- Realm smartcity: parent_id = 'e174aad5c7b5489e8b2efe'
|
||||
|
||||
CREATE EXTENSION IF NOT EXISTS pgcrypto;
|
||||
|
||||
DO $$
|
||||
DECLARE
|
||||
sensor_types text[] := ARRAY['airquality', 'traffic', 'parking', 'noise', 'weather', 'waterquality'];
|
||||
realm_rec RECORD;
|
||||
sensor_type text;
|
||||
i integer;
|
||||
new_id text;
|
||||
new_name text;
|
||||
new_topic text;
|
||||
parent_id text;
|
||||
realm_name text;
|
||||
BEGIN
|
||||
-- Delete existing MQTT agents
|
||||
DELETE FROM asset WHERE type = 'urn:openremote:agent:mqtt';
|
||||
|
||||
-- Loop over realms
|
||||
FOR realm_rec IN SELECT * FROM (VALUES ('master', '2LtWTTd29uPZLbuWMWUxBf'), ('smartcity', 'e174aad5c7b5489e8b2efe')) AS t(realm, parent) LOOP
|
||||
realm_name := realm_rec.realm;
|
||||
parent_id := realm_rec.parent;
|
||||
|
||||
FOREACH sensor_type IN ARRAY sensor_types LOOP
|
||||
FOR i IN 1..5 LOOP
|
||||
new_id := LEFT(REPLACE(gen_random_uuid()::text, '-', ''), 22);
|
||||
new_name := 'MQTT-Agent-' || sensor_type || '-' || i;
|
||||
new_topic := 'smartcity/' || sensor_type || '/' || i;
|
||||
|
||||
INSERT INTO asset (id, name, type, realm, parent_id, created_on, access_public_read, version, attributes)
|
||||
VALUES (
|
||||
new_id,
|
||||
new_name,
|
||||
'urn:openremote:agent:mqtt',
|
||||
realm_name,
|
||||
parent_id,
|
||||
NOW(),
|
||||
false,
|
||||
1,
|
||||
jsonb_build_object(
|
||||
'name', jsonb_build_object('type', 'String', 'value', new_name),
|
||||
'agentLink', jsonb_build_object(
|
||||
'type', 'Property',
|
||||
'value', jsonb_build_object(
|
||||
'type', 'mqtt',
|
||||
'brokerUrl', 'tcp://openremote-manager-1:1883',
|
||||
'topicFilter', new_topic,
|
||||
'username', '',
|
||||
'password', '',
|
||||
'enabled', true
|
||||
)
|
||||
),
|
||||
'sensorType', jsonb_build_object('type', 'String', 'value', sensor_type),
|
||||
'location', jsonb_build_object(
|
||||
'type', 'GeoJSONPoint',
|
||||
'value', jsonb_build_object(
|
||||
'type', 'Point',
|
||||
'coordinates', jsonb_build_array(
|
||||
14.6091 + (random() - 0.5) * 0.1,
|
||||
-61.2155 + (random() - 0.5) * 0.1
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
END LOOP;
|
||||
END LOOP;
|
||||
END LOOP;
|
||||
END $$;
|
||||
|
||||
-- Verify insertion
|
||||
SELECT realm, COUNT(*) as agent_count
|
||||
FROM asset
|
||||
WHERE type = 'urn:openremote:agent:mqtt'
|
||||
GROUP BY realm;
|
||||
Reference in New Issue
Block a user