Join the conversations to shape a safer, more efficient, and sustainable industrial future!
Recently active
AI assistants work best when they can tap into the right context. We're excited to share that Cognite now offers Model Context Protocol (MCP) connectors! These connectors bring official documentation and community knowledge directly into tools like Cursor, VS Code, and Claude. Cognite Docs MCPCognite's docs MCP server gives your IDE live access to our full documentation suite, including guides, API references, and code examples. This ensures your AI assistant can answer CDF implementation questions with current, accurately cited information.How to connect: Open any page at docs.cognite.com. Click Copy MCP Server (located in the top right corner). Choose Connect to Cursor, Connect to VS Code, or simply copy the MCP URL to use with other tools. Try asking your assistant: "What authentication methods does CDF support?" "Show me how to create a data model in Python." Helpful Links: Setup Guide: docs.cognite.com/dev/guides/ide_ai_integration Hub Overview: AI and product documentatio
If you in Charts add a timeseries that is contextualised to a CogniteAsset, you will get the “P&ID” link icon. By clicking on it you will enter search mode for that specific asset, showing the File links as default. This is a nice workaround for a “Find related data”, also allowing you to add CogniteActivities.The instance is shown as a CogniteAsset, and it obviously use the inspection endpoint since you are allowed to change between different views for this instance. However, it doesn’t show the View that is the CogniteAsset extension. The consequence of this is that I’m not able to see neither CogniteFiles nor CogniteActivities as their extension (my CogniteAsset extension has reverse direct relation to the CogniteFile and CogniteActivity extensions). This seriously limits me when filtering on important properties since they only exist in the extension. A workaround is to go directly to “+ Add data → Add time series”, and then select my CogniteAsset extension when I search, but
When asking the embedded Atlas AI Agent to eg show the difference between two timeseries, it display both timeseries in a chart inside the Chat window. However, both lines get the same color, and there is no legend, so unless you know the average value for those timeseries you do not know which is which. Also, there is no y-axis, so the only way of knowing the value is to hover over the different lines.Legend and axis would help a lot on the user-friendliness
I am not able to find any documentation for deactivating and/or deleting Flows custom apps on docs.cognite.com, I’d say that this is a very important part of the life cycle and should be included in that section.I do see that the feature exists in the CLI, which is good, otherwise this would be a different request:
Hello Cognite Team,I am not sure whether this should be reported as a bug, a configuration issue, or an intended behavior change, but I would like to ask for your help in understanding the situation.We are using alert notifications in Charts to monitor several items. In the past, alert emails were successfully sent not only to the chart creator but also to additional subscribers that were registered for the alert.Recently, however, only the chart creator appears to be receiving alert emails.When I checked the subscription settings, only the creator was displayed in the subscriber list. I tried adding additional subscribers multiple times, and the system indicated that the changes were saved successfully. However, the added subscribers do not appear in the list after saving, and they do not receive any alert emails.The same process worked correctly before, so I am not sure whether this could be related to a recent change, a configuration issue on our side, or a potential product issue.C
Currently, monitoring alert emails cannot be customized beyond a certain point: the email subject is always “An alert was created” and the body of the email cannot be customized to be more user-friendly for readers, etc. I would like more customization for the alert emails.
Hi Cognite Community,we currently have a Streamlit Custom App hosted directly in Cognite Data Fusion that we would like to provide to end users for an upcoming testing phase.Our plan is to let the users test the current Streamlit version first, while in parallel we are working on migrating/rebuilding the application as a Flows app.However, this migration will still take some time, while the users are expected to start testing the Streamlit application in approximately two weeks.For the testing phase, we would therefore like to provide users with a direct link to the Streamlit application, but ideally without showing the surrounding CDF navigation/sidebar (Home, Search, Canvas, Charts, Custom Apps, etc.).The goal would be something similar to a standalone/full-screen application experience while still keeping the current Streamlit app hosted and authenticated through CDF.Is there currently any supported way for Streamlit Custom Apps to:hide the CDF shell/sidebar, open the application in
Example: The filter shows options in English, while in the list view they are displayed in Norwegian. For example, the filter shows “Ready”, whereas in the view it shows “Klar”.
Documents that are most important for the technician should be listed first, e.g. P&IDs (XB).
Please suggest a proven way to bring SAP ECC data changes into CDF within seconds. I have come across with below solution:SAP ECC→ IDoc or Change Document→ Kafka / Azure Event Hub→ Azure Function / Microservice→ Cognite Ingestion API→ CDFIs this correct?
Hello,With the current WITSML extractor configuration, we can only whitelist the mnemonics that we want to extract. Would it be possible to also support a blacklist configuration for mnemonics?In our case, the complete list of mnemonics to extract is not known beforehand, which makes maintaining a whitelist challenging.Thank you.
Hello!We have encountered some issues with backfilling on the PI Extractor. This usually goes automatically, and works fine. However, we do now have a 2 day gap in data on Cognite, however all that data is present in PI.Are there any way to “force” a backfill, or fix this issue somehow?Thanks!
When listing instances of a view and using the to_pandas method, is there a simple way to use the data types defined on the container properties and use these to cast to similar python data types? Or could this be an option of the python SDK?In the classical CDF data types, this is implemented so that for example a date field and timestamp fields have the correct python data type. The data modelling instances will be either floats or string. It would be very convenient if the underlying container data type can be used so that you do not have to manually cast values in the pandas dataframe.
Hello,I have a user who is interested in seeing a rolling total of a value within our Cognite instance. We have created a chart where we have a very simple setup of the data point we are interested in seeing over time, and a 30 day sliding window integration function on it, which is working fine and showing the value within the chart as needed. However, we are also interested in writing this data to another time series and then being able to display the current value of this time series on a canvas using the Live data point mode. I saved & scheduled the calculation to run daily within the Chart but the scheduled calculation and the time series which it created is getting no data, with no errors anywhere that I can see. Is this something that is possible to compute within Charts?
HiWe've hit a bug in cdf-tk (reproduced on 0.8.147 and 0.8.155) when deploying containers to a brand new space.We have 98 containers in a new space. One container has no constraints, but others reference it via a requires constraint pointing to the same space. cdf-tk sends all containers in a single batch. The CDF API seems to validates requires constraints against what already exists in CDF not against other items in the same batch so it rejects the entire batch with this error:Cannot create requires constraint 'requireMetadata' in container'sp_xxx:ContainerB'.Target container 'sp_xxx:ContainerA' does not exist.cdf-tk should sort containers by their requires dependencies before batching, so dependency free containers like containerA are sent before the containers that depend on them.We'd appreciate a fix in an upcoming release, or any insights regarding this issue.Thanks
ContextWe currently run several custom Python extractors built on cognite-extractor-utils. For those, cognite-extractor-utils lets us configure a metrics.cognite block that periodically pushes the extractor's Prometheusmetrics (Counter/Gauge) directly to CDF Time Series — this gives us consistent,queryable observability (row counts, run duration, throughput, failure counts, etc.)across all our extractors, without any extra tooling.ProblemThe PI Extractor and the DB Extractor (official Cognite binaries) already exposePrometheus metrics internally (e.g. pi_extractor_timeseries_states,pi_extractor_stream_iterations, pi_extractor_pi_data_pipe_events,pi_extractor_streamer_data_points, pi_extractor_event_queue_size,pi_extractor_pi_data_loss, pi_extractor_pi_connection_time,pi_extractor_pi_connections, extractor_utils_cdf_datapoints, …), but today they canonly be exposed via a local Prometheus scrape endpoint (metrics.server) or a PushGateway (metrics.push-gateways). There is no equivalent of
Today it is possible to specify the unit of a property of a View, enabling unit conversion on consumption (via the API). However, the CDF UI is currently not showing this unit. It means that we either have to create a dedicated “property_UOM”, or we have to add the unit into the @name in the View description. It would be preferable if the UI could show the unit, and also support the unit conversion.
We're migrating a production line from classic time series to CogniteTimeSeries in the data model, ingested by the OPC-UA extractor from a Siemens IIH server, and we'd like to understand how much of the metadata we hold at the source can travel with the signal rather than being reapplied afterwards. Three things, in increasing order of interest to us: Engineering units — the UnitId is discarded. Our server sends the full EUInformation: NamespaceUri = http://www.opcfoundation.org/UA/units/un/cefact, UnitId = 4937544, DisplayName = kW·h, Description = kilowatt hour. What lands in CDF is only the composed display string, in classic unit and now in sourceUnit. The typed reference is never populated: across 2,772 OPC-UA-sourced classic series in our production project, unitExternalId is set on zero, and on the data-model side the unit direct relation to CogniteUnit is null on all 854 series of the migrated line. We fill it afterwards with our own script, but the UNECE common code in UnitId
The closest to that solution as for now would be adding a timeseries on the canvas, then you have an option to Open in charts and then choose a new one or existing one. This is too cumbersome.See picture below of suggested solution directly in canvas:
When you add new assets or files in Canvas, the data is added to an area of the Canvas where there are no objects, and the focus moves to that location.While this is great in that it ensures the added data doesn’t interfere with the existing Canvas layout, the following sequence of events occurs every time, which can be cumbersome.① Add new data② The data is added to an area without any objects, and the screen focus automatically shifts there (since the location where the data is added is usually quite far from the main screen, the focus also shifts significantly away from the main screen)③ Move the added data to where you actually want to place it (because the focus from step ② is significantly away from the main screen, you have to move the data a long way to position it, which is quite a hassle)Therefore, is there a way to add data to a location that makes step ③ as easy as possible for the user?
Hello, the default value for autoCreateDirectRelations for node creation is True. Cdf toolkit do not expose this config at transformation level today. This results into uncontrolled ‘empty’ instance creation when direct relationship nodes does not exist.Do you plan to expose this config to cdf toolkit so we can change the default behaviour?ref: https://docs.cognite.com/20230101/instances/create-or-update-nodesedges#body-auto-create-direct-relations Thanks Best,
Hi everyone,The Cognite Python SDK now supports Records and Streams, from cognite-sdk 8.12.0.Records give you high volume storage for structured data such as logs, events, tabular data, without overloading your knowledge graph. Streams control retention, mutability and throughput for that data. If Records is new to you, start here: https://docs.cognite.com/cdf/dm/records/concepts/records_and_streamsWhat is includedBoth APIs are fully covered:Streams: create, list, retrieve, delete Records: ingest, upsert, filter, sync, sync_resume, aggregate, deleteThis is an alpha releaseThe feature is not generally available. The SDK raises a FeaturePreviewWarning when you use it, and we may make breaking changes to the SDK without notice while we improve the ergonomics. Use it in development and test projects, not in production pipelines.We will keep it in alpha until early to mid September, before deciding on the next step. That time is there so you can test it and tell us what should change.Gettin
Currently data modelling in CDF only support “soft deletes”, which in day to day operations works well and support the necessary sync features. However we have scenarios where we need to delete vast amounts of instances, ideally in a very short timeframe.During testing we sometimes need to delete and recreate a data model We are currently migrating data models and have two living in parallel for a time, eventually we will delete the old one, which has more than 50 million instances, with the current limit of 10 million soft deletes this would 15 days due to soft delete retention period. Cleanup of old test data Decommissioning of data models (or oil rigs for that matter)This is an ongoing issue in one of test environments where we have a need to do a full wipe of all instances within the CDF project.The feature I am looking for is a way to skip the soft delete default, and simply do a hard delete right away. In the scenarios I’ve listed the features of soft deletes are not needed as we
We hit an undocumented behavior of the OPC UA extractor (version 2.38.0, Docker) that we'd like to confirm.Setup: cognite.metadata-targets.clean with assets: true, timeseries: true, relationships: true, plus extraction.update fully enabled. This had been running fine for months — classic asset hierarchy plus classic time series.What we did: we added the GA Core Data Model space option to the same clean block: metadata-targets: clean: assets: true timeseries: true relationships: true space: "<our-instance-space>"What we observed:As documented, time series switched to CogniteExtractorTimeSeries instances in the space, with datapoints available via instanceId. Not documented: classic asset creation stopped entirely, even though clean.assets: true was still set. We verified this by deleting the extractor-managed asset hierarchy and restarting the extractor: after a full startup browse, no assets were recreated — no error, no failure run on the extraction pipeline, nothin
Views that extends CogniteActivity can be included as an object in Charts, shown as a colored overlay in the timeseries. However, it seems it is a forced filter on assets that are included in the Chart. I can remove the default startTime and endTime filter, but not the asset filter. It is a very likely scenario that I want to add a notification or workorder for an asset that doesn’t contain the timeseries I’m interested in(sensor is upstream). It also might be the case that the asset with the notification/workorder do not have a timeseries at all (it resides further down in the hierarchy).It can be helpful to add a preconfigured asset filter based on the assets indirectly included via the timeseries, but it is an absolute requirement that I can remove that filter. Right now, if the asset with the notification do not have any timeseries I have not found a workaround allowing me to add the notifications I want.